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

我编译好的opencv库与ros2 humble库里面的opencv库的解决方案

首先明确

我们从源码编译的opencv库在/usr/local/中

ros2 humble的opencv库在/opt/ros/humble/中

一般我们默认选取这个/usr/local/的opencv库

一·发现问题

这里是我清除之前构建好的包的一个

原错误是

--- stderr: grab_demo gmake[2]: *** 没有规则可制作目标“/opt/opencv_410/lib/libopencv_aruco.so”,由“charuco_dectet_node” 需求。 停止。 gmake[2]: *** 正在等待未完成的任务.... In file included from /home/dxf/WHEELTEC_S300Pro_mini_ros2_arm_src_2025_9_15/src/grab_demo/src/charuco_dectet_node.cpp:1: /home/dxf/WHEELTEC_S300Pro_mini_ros2_arm_src_2025_9_15/src/grab_demo/include/grab_demo/charuco_dectet_node.hpp:7:10: fatal error: opencv2/aruco/charuco.hpp: 没有那个文件或目录 7 | #include <opencv2/aruco/charuco.hpp> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. gmake[2]: *** [CMakeFiles/charuco_dectet_node.dir/build.make:76:CMakeFiles/charuco_dectet_node.dir/src/charuco_dectet_node.cpp.o] 错误 1 gmake[1]: *** [CMakeFiles/Makefile2:665:CMakeFiles/charuco_dectet_node.dir/all] 错误 2 gmake[1]: *** 正在等待未完成的任务.... /home/dxf/WHEELTEC_S300Pro_mini_ros2_arm_src_2025_9_15/src/grab_demo/src/hand_eye.cpp:7:10: fatal error: opencv2/aruco/charuco.hpp: 没有那个文件或目录 7 | #include <opencv2/aruco/charuco.hpp> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. gmake[2]: *** [CMakeFiles/hand_eye.dir/build.make:76:CMakeFiles/hand_eye.dir/src/hand_eye.cpp.o] 错误 1 gmake[1]: *** [CMakeFiles/Makefile2:691:CMakeFiles/hand_eye.dir/all] 错误 2 gmake: *** [Makefile:146:all] 错误 2 --- Failed <<< grab_demo [49.6s, exited with code 2] Summary: 3 packages finished [1min 17s] 1 package failed: grab_demo 1 package had stderr output: grab_demo

就是在构建这个包的时候没有找到头文件<opencv2/aruco/charuco.hpp>

这里可能是我们的opencv构建出了一些问题

二·解决问题

1.现将原来构建的opencv库卸载

(1)查找原来安装的opencv库

sudo find /usr/local -name "*opencv*" 

(2)删除原来的构建

sudo rm -rf /usr/local/include/opencv4
sudo rm -rf /usr/local/lib/libopencv*
sudo rm -rf /usr/local/lib/cmake/opencv4
sudo rm -rf /usr/local/lib/pkgconfig/opencv4.pc
sudo rm -rf /usr/local/share/opencv4
sudo rm -rf /usr/local/share/java/opencv4
sudo rm -f /usr/local/bin/setup_vars_opencv4.sh

(3)更新动态库文件

sudo ldconfig

2.扩展虚拟内存

(1)扩展虚拟内存

sudo fallocate -l 10G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

(2)检测是否扩展成功

free -h

3.从git仓库克隆源码

(1)新建文件夹并且克隆opencv和opencv_contrib

mkdir -p ~/opencv410 && cd ~/opencv410
git clone -b 4.10.0 https://github.com/opencv/opencv.git
git clone -b 4.10.0 https://github.com/opencv/opencv_contrib.git

(2)编译依赖准备

sudo apt update
sudo apt install -y build-essential cmake git pkg-config \libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev \libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev \libdc1394-22-dev libv4l-dev libopenexr-dev libxvidcore-dev \libx264-dev python3-dev python3-numpy

(3)进入opencv库并且新建build

cd ~/opencv410/opencv
mkdir build && cd build

(4)执行cmake命令

cmake -D CMAKE_BUILD_TYPE=Release \-D CMAKE_INSTALL_PREFIX=/usr/local/opencv410 \-D OPENCV_EXTRA_MODULES_PATH=~/opencv410/opencv_contrib/modules \-D BUILD_EXAMPLES=OFF \-D WITH_QT=OFF \-D WITH_OPENGL=ON \-D WITH_TBB=ON \-D WITH_V4L=ON \-D WITH_FFMPEG=ON \-D WITH_GSTREAMER=ON \-D BUILD_opencv_python3=ON \..

(5)编译

make -j$(nproc)

(6)安装

sudo make install

(7)设置环境

echo "" >> ~/.bashrc
echo "# >>> OpenCV 4.10 custom install >>>" >> ~/.bashrc
echo "export PKG_CONFIG_PATH=/usr/local/opencv410/lib/pkgconfig:\$PKG_CONFIG_PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/opencv410/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
echo "export OpenCV_DIR=/usr/local/opencv410/lib/cmake/opencv4" >> ~/.bashrc
echo "# <<< OpenCV 4.10 custom install <<<" >> ~/.bashrc
source ~/.bashrc

(8)检查是否安装opencv

pkg-config --modversion opencv4 

http://www.dtcms.com/a/499804.html

相关文章:

  • 免费seo网站自动推广wordpress电子商务站
  • 不同程序建的网站风格网站名称 备案
  • 鸿蒙 emitter 和 eventHub 的区别
  • Java中Elasticsearch完全指南:从零基础到实战应用
  • 网站开发承包合同网站地图怎么弄
  • 【算法】day7 滑动窗口+二分查找
  • Kylin Linux Advanced Server V10 (Sword)上离线安装Ansible
  • 大学生做的广告短视频网站山东省建设教育集团网站首页
  • LeetCode 面试经典 150_栈_最小栈(54_155_C++_中等)(辅助栈)
  • 西安网站建设服务商十强文明网站建设
  • 互动网站如何做做网站和做程序一样吗
  • mockpuls可以做网站吗湖南招聘信息网官网
  • 【Qt】信号与槽(Signal and Slot)- 简易计算器
  • 2.5 网口
  • 肤契:全域协议版 IV 樱花町的晨光
  • dede 建设网站做个普通的网站多少钱
  • Nivo图表库全面指南:配置与用法详解
  • 典型营销型网站有哪些惠阳住房和城乡建设局网站
  • 算法题——贪心算法
  • 安装WordPress时没生成wp-config.php的解决方法
  • MovieNet(A holistic dataset for movie understanding) :面向电影理解的多模态综合数据集与工具链
  • 如何关联网站与网站html视频网站模板
  • 触摸未来2025-10-18:生成文字的小宇宙矩阵溯源
  • TypeScript 基础语法
  • 网站建设的栏目内容是项目建设网站
  • 货物公司网站建设方案济南网站优化排名
  • 论坛网站建设视频教程沈阳专业网站建设
  • 项目1:队列的讲解(下):C++多线程队列使用
  • web自动化测试——Excel表格数据提取
  • nerfstudio使用colmap处理图像数据的小问题