当前位置: 首页 > news >正文

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.lryc.cn/news/503344.html

相关文章:

  • Ensembl数据库下载参考基因组(常见模式植物)bioinfomatics 工具37
  • 简单介绍web开发和HTML CSS_web网站开发流程
  • Docker 中使用 PHP 通过 Canal 同步 Mysql 数据到 ElasticSearch
  • 数据结构之五:排序
  • 科研绘图系列:R语言绘制热图和散点图以及箱线图(pheatmap, scatterplot boxplot)
  • 基于 webRTC Vue 的局域网 文件传输工具
  • LeetCode 718. 最长重复子数组 java题解
  • 算法知识-15-深搜
  • 区块链dapp 开发详解(VUE3.0)
  • Plugin [id: ‘flutter‘] was not found in any of the following sources解决方法
  • 专升本-高数 1
  • 【考前预习】3.计算机网络—数据链路层
  • DockeUI 弱口令登录漏洞+未授权信息泄露
  • 【电子元器件】电感基础知识
  • 【SSH+X11】VsCode使用Remote-SSH在远程服务器的docker中打开Rviz
  • Vue Web开发(五)
  • HarmonyOS:使用Grid构建网格
  • 开源Java快速自测工具,可以调用系统内任意一个方法
  • 力扣刷题TOP101: 29.BM36 判断是不是平衡二叉树
  • 【在Linux世界中追寻伟大的One Piece】自旋锁
  • 前端编辑器JSON HTML等,vue2-ace-editor,vue3-ace-editor
  • C++ 中的运算符重载
  • 渗透测试工具 -- SQLmap安装教程及使用
  • 使用 Database Tools 实现高效数据查询的十大 IntelliJ IDEA 快捷键
  • SpringBoot 整合 RabbitMQ 实现流量消峰
  • 大数据挖掘建模平台案例分享
  • MySQL数据表的管理
  • SpringBoot【十三(实战篇)】集成在线接口文档Swagger2
  • 【C++初阶】第8课—标准模板库STL(string_2)
  • 【arm】程序跑飞,SWD端口不可用修复(N32G435CBL7)