关于读取相机的ROS功能包编译成功但运行出错的解决办法
以opencv4为例,使用pkg-config --modversion opencv4,这个命令虽然可以返回你已经下载好的包,但是却不一定在链接库的时候找得到,编译之后运行之前还需要链接动态编译库以及静态链接库。
解决办法:
其实以上前两种方法是一样的,当重新启动一个终端时,.bashrc会自动刷新。
写到这里就有一个疑问,为什么在CmakeList.txt中也进行链接编译库的操作,但是最后却没有报错?
使用/etc/ld.so.conf.d/中的配置文件:
在/etc/ld.so.conf.d/
目录下,你可以创建一个配置文件,例如opencv.conf
,然后将OpenCV库的路径添加到这个文件中。编辑这个文件,添加OpenCV库的路径,然后运行sudo ldconfig
: