ubuntu20.04复现 Leg-KILO

这里写目录标题

  • opencv版本问题
    • 下载3.2.0源代码
    • 进入解压后的目录
    • 创建构建目录
    • 运行 CMake 配置 配置时指定一个独立的安装目录,例如 /opt/opencv-3.2:
      • 出错:
    • 使用多线程编译
      • 错误1: stdlib.h: 没有那个文件或目录
      • 错误2:error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
    • 安装
  • 管理多个版本的 OpenCV
  • 在Leg-KILO的CMakeLists.txt文件中修改

opencv版本问题

我的是安装ros自带的4.2.0版本,该系统需要3.2.0。

下载3.2.0源代码

https://github.com/opencv/opencv/releases/tag/3.2.0

直接用浏览器下载,并解压

进入解压后的目录

cd opencv-3.2.0

创建构建目录

mkdir build && cd build

运行 CMake 配置 配置时指定一个独立的安装目录,例如 /opt/opencv-3.2:

cmake -DCMAKE_BUILD_TYPE=Release \-DCMAKE_INSTALL_PREFIX=/opt/opencv-3.2 \-DBUILD_SHARED_LIBS=ON ..

出错:

在这里插入图片描述

解决办法:参考CMake Error at 3rdparty/ippicv/downloader.cmake:77 (message): ICV: Failed to download ICV package:

使用多线程编译

make -j$(nproc)

错误1: stdlib.h: 没有那个文件或目录

在这里插入图片描述

解决办法:参考stdlib.h: 没有那个文件或目录

cmake时加上参数-D ENABLE_PRECOMPILED_HEADERS=OFF

错误2:error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]

在这里插入图片描述

错误信息被顶上面了,可以重定向输出到文件中:

make -j4 > ~/Desktop/make_output.log 2>&1

/home/ubuntu2004/opencv-3.2.0/modules/python/src2/cv2.cpp:730:34: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
730 | char* str = PyString_AsString(obj);
在这里插入图片描述
解决办法:
invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
或make时的问题
在opencv-3.2.0/modules/python/src2/cv2.cpp路径下
找到cv2.cpp,大约在730行,将
char* str = PyString_AsString(obj);
改为
char* str = (char *)PyString_AsString(obj);

安装

sudo make install

管理多个版本的 OpenCV

在 C++ 项目中使用
通过 CMake 的 find_package 指定 OpenCV 版本。例如,使用 OpenCV 3.2:

find_package(OpenCV 3.2 REQUIRED PATHS /opt/opencv-3.2/share/OpenCV)
include_directories(${OpenCV_INCLUDE_DIRS})
target_link_libraries(your_target ${OpenCV_LIBS})

在Leg-KILO的CMakeLists.txt文件中修改

注释掉之前的,补上opencv 3.2.0安装的路径


# find_package(OpenCV REQUIRED QUIET)find_package(OpenCV 3.2 REQUIRED PATHS /opt/opencv-3.2/share/OpenCV)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/489820.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫之Selenium的应用

【1】Selenium基础介绍 1.什么是selenium? (1)Selenium是一个用于Web应用程序测试的工具。 (2)Selenium 测试直接运行在浏览器中,就像真正的用户在操作一样。 (3)支持通过各种driv…

回归预测 | MATLAB实现BiGRU(双向门控循环单元)多输入单输出

回归预测 | MATLAB实现BiGRU(双向门控循环单元)多输入单输出 文章目录 回归预测 | MATLAB实现BiGRU(双向门控循环单元)多输入单输出预测效果基本介绍程序设计参考资料致谢预测效果 基本介绍 BiGRU(双向门控循环单元)多输入单输出模型是一种结合了双向门控循环单元(BiGRU)的…

React的状态管理库-Redux

核心思想:单一数据源、状态是只读的、以及使用纯函数更新状态。 组成部分 Store(存储) 应用的唯一状态容器,存储整个应用的状态树,使用 createStore() 创建。 getState():获取当前状态。dispatch(action)&#xff…

.NET平台使用C#设置Excel单元格数值格式

设置Excel单元格的数字格式是创建、修改和格式化Excel文档的关键步骤之一,它不仅确保了数据的正确表示,还能够增强数据的可读性和专业性。正确的数字格式可以帮助用户更直观地理解数值的意义,减少误解,并且对于自动化报告生成、财…

【Maven】生命周期和插件详解

Maven生命周期 Maven 将项目的生命周期抽象成了 3 套生命周期,每套生命周期又包含多个阶段(phase)。每套中具体包含哪些阶段是 Maven 已经约定好的,但是每个阶段具体需要做什么,是用户可以自己指定的。 Maven 中定义…

数据保护策略:如何保障重要信息的安全

一、什么是数据安全? 数据安全是保护数字信息免遭盗窃、未经授权的访问和恶意修改的过程。这是一个持续的过程,负责监督信息的收集、存储和传输。 机密性:保护数据免遭未授权方访问。 完整性:保护数据免遭未经授权的修改、损坏…

Linux:进程(环境变量、程序地址空间)

目录 冯诺依曼体系结构 操作系统 设计操作系统的目的 操作系统的管理 进程 PCB fork 进程状态 进程状态查看 僵尸进程 孤儿进程 进程优先级 查看、修改进程优先级命令 竞争、独立、并行、并发 进程切换 活动队列和运行队列 活动队列 过期队列 active指针…

ansible自动化运维(一)简介及清单,模块

相关文章ansible自动化运维(二)playbook模式详解-CSDN博客ansible自动化运维(三)jinja2模板&&roles角色管理-CSDN博客ansible自动化运维(四)运维实战-CSDN博客 ansible自动化运维工具 1.什么是自…

DuckDB快速入门教程

DuckDB是一个用c编写的进程内OLAP DBMS,太复杂了。我们从简单的开始,好吗?DuckDB是用于分析的SQLite。它没有依赖关系,非常容易设置,并且经过优化可以对数据执行查询。本文将介绍什么是DuckDB,如何使用它&a…

【橘子容器】如何构建一个docker镜像

你肯定打过docker镜像是吧,作为一个开发这很正常,那么你用的什么打包方式呢,这里我们来梳理几种常用的docker镜像构建方式。 ps:这里不是太讲原理,更多的是一种科普和操作。因为讲原理的东西网上已经够多了。 一、Dock…

操作系统(8)死锁

一、概念 死锁是指在一个进程集合中的每个进程都在等待只能由该集合中的其他进程才能引起的事件,而无限期地僵持下去的局面。在多任务环境中,由于资源分配不当,导致两个或多个进程在等待对方释放资源时陷入无限等待的状态,这就是死…

el-table行合并及合并后序号处理

效果图 <el-tableclass"ncky-detail-table"v-loading"tableLoading"border:data"tableDataVo":span-method"objectSpanMethod"row-key"uniqueFlag":row-class-name"tablerowclassname"><el-table-column…

【Python】使用Selenium的find_element模块获取网页上的大段文字和表格的方法(建议收藏!)

发现了一个使用Selenium的find_element模块&#xff0c;快速获取文字和表格的方法&#xff0c;很实在&#xff0c;以后爬网的时候&#xff0c;就不用beautifulSoup 和 pandas的read_html 混起来用了&#xff01; 文字部分&#xff1a;实现网络节点下&#xff0c;某个节点下的其…

24秋:模式识别:答题第一波除解析

判断题&#xff1a; T 模式识别中的人脸识别问题是根据已知数据类别预测未知数据类别的问题。F 人脸图像在计算机中是以矩阵的方式存储的。F 训练集和测试集有交集。T 算法&#xff08;模型&#xff09;是以样本所包含的信息为基础&#xff0c;对总体的某些特征进行判断、预测…

【蓝桥杯每日一题】推导部分和——带权并查集

推导部分和 2024-12-11 蓝桥杯每日一题 推导部分和 带权并查集 题目大意 对于一个长度为 ( N ) 的整数数列 ( A 1 , A 2 , ⋯ , A N A_1, A_2, \cdots, A_N A1​,A2​,⋯,AN​ )&#xff0c;小蓝想知道下标 ( l ) 到 ( r ) 的部分和 ∑ i l r A i A l A l 1 ⋯ A r \su…

<项目代码>YOLOv8 车牌识别<目标检测>

项目代码下载链接 &#xff1c;项目代码&#xff1e;YOLOv8 车牌识别&#xff1c;目标检测&#xff1e;https://download.csdn.net/download/qq_53332949/90121387YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题…

STM32 CubeMx HAL库 独立看门狗IWDG配置使用

看门狗这里我就不多介绍了&#xff0c;能搜到这篇文章说明你了解 总之就是一个单片机重启程序&#xff0c;设定好超时时间&#xff0c;在超时时间内没有喂狗&#xff0c;单片机就会复位 主要应用在单片机异常重启方面&#xff0c;比如程序跑飞&#xff08;注意程序跑飞时你就…

实现某海外大型车企(T)Cabin Wi-Fi 需求的概述

最近参与某海外大型车企&#xff08;T&#xff09;的 Wi-Fi 功能需求开发&#xff0c;T 提出了一个 Cabin Wi-Fi 的概念&#xff0c;首先我们先对 Cabin Wi-Fi 进行一个较全面的了解。 1. Cabin Wi-Fi 概念概述 Cabin Wi-Fi 通常指用于飞机客舱、火车车厢、豪华巴士或船舶上的无…

OpenAI直播发布第4天:ChatGPT Canvas全面升级,免费开放!

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;专注于分享AI全维度知识&#xff0c;包括但不限于AI科普&#xff0c;AI工…

【Linux课程学习】:第二十一弹---深入理解信号(中断,信号,kill,abort,raise,larm函数)

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;Linux课程学习 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 ​ Linux学习笔记&#xff1a; https://blog.csdn.…