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