记录OpenCV和ROS工作空间创建时出现的问题及解决方法

1 Variable 'exec_prefix' not defined in '/usr/local/lib/pkgconfig/opencv.pc'

经过网上详细查询资料后,是缺失了opencv.pc这个配置信息文件或者文件里面内容有问题,故解决方法就是添加这个文件然后将其导入到环境变量中

1.1 创建opencv.pc文件

sudo touch opencv.pc

因为你没有权限修改,首先修改文件的权限

更改文件的权限

进入该同目录下的终端:

sudo chmod 777 opencv.pc

把以下内容复制到opencv.pc中即可

prefix=/usr/local

exec_prefix=${prefix}

includedir=${prefix}/include

libdir=${exec_prefix}/lib

Name: opencv

Description: The opencv library

Version:4.1.1

#这个4.1.1是OpenCV版本需要改成你自己的版本

Cflags: -I${includedir}/opencv4

Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core

~

1.2 保存后退出,然后将文件导入到环境变量:(进入环境变量方式:gedit ~/.bashrc)

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

然后在source一下:

source ~/.bashrc

最后输入以下就可以看到OpenCV的版本了

pkg-config --modversion opencv

2 记录catkin_make时遇到的问题

at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):

Could not find a package configuration file provided by "OpenCV" with any

of the following names:

OpenCVConfig.cmake

opencv-config.cmake

Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set

"OpenCV_DIR" to a directory containing one of the above files. If "OpenCV"

provides a separate development package or SDK, be sure it has been

installed.

Invoking "make cmake_check_build_system" failed

解决方法:

记录catkin_make时遇到的问题

E: 无法定位软件包 ros-kinetic-driver-base

下载控件遇到的问题,要安装你自己版本控件:

我的系统是Ubuntu20.04需要安装notedic版本控件:

sudo apt-get install ros-noetic-driver-base

sudo apt-get install ros-noetic-gazebo-ros-control

sudo apt-get install ros-noetic-effort-controllers

sudo apt-get install ros-noetic-joint-state-controller

sudo apt-get install ros-noetic-ackermann-msgs

sudo apt-get install ros-noetic-global-planner

sudo apt-get install ros-noetic-teb-local-planner

3 记录catkin_make时遇到的问题

Invoking "cmake" failed

解决方法:

pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools -i https://pypi.douban.com/simple

或catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

参考文章链接:https://blog.csdn.net/qq_44920947/article/details/123300367

没有成功尝试别的方法:

本文链接:https://blog.csdn.net/qq_39437730/article/details/118272390

没有解决换一个方法:

总结了常见问题

ubuntu 20.04 安装 ROS noetic,catkin_make报错python版本不一致,处理办法

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

cmake找不到opencv解决

本文链接:https://blog.csdn.net/jacke121/article/details/112827563

source ~/catkin_ws/devel/setup.bash

· 1

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/catkin_ws/

自建引用包报错:CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):

解决方法:

1.将opencv安装目录添加到CMAKE_PREFIX_PATH

例如,按照错误信息指示,在CMakeLists.txt中加入一行list,路径要改成自己的opencv安装路径。

list(APPEND CMAKE_PREFIX_PATH "/home/xiaoming/opencv4.5.5/")

find_package(OpenCV REQUIRED)

4 运行catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3时

出现:The specified source space "/home/sxj/src" does not exist

回到catkin_ws工作空间下进行编译

或者可能曾经误在home下catkin init过,系统误认为home是工作空间

home下ctrl+h显示隐藏文件

删除文件夹.catkin_tools

参考链接:https://blog.csdn.net/Cwenge/article/details/90545262

猜你喜欢

转载自blog.csdn.net/m0_60657960/article/details/129724835
今日推荐