编译xvisio相机驱动时,遇到了这样的错误
显然是ddynamic_reconfigure
包的问题,于是安装对应的ROS包,但是问题依旧,真是奇怪
于是在cmake中使用MESSAGE(${catkin_LIBRARIES})
看看链接的文件有什么问题,结果发现其他的ROS库都是链接到了ROS安装目录,比如 /opt/ros/noetic/lib/libcamera_info_manager.so
, /usr/lib/x86_64-linux-gnu/libtinyxml2.so
。 唯独ddynamic_reconfigure
链接到了我之前放的库文件: /home/user/catkin_ws/devel/lib/libddynamic_reconfigure.so
这真是太奇怪了,环境变量catkin_LIBRARIES
是如何换到另一个so库文件的??? 于是我把ROS安装目录的libddynamic_reconfigure.so
覆盖catkin_ws
的so库文件,重新编译成功了,相机驱动可以正常运行。
但是这样其实没有解决根本问题,最后只好把target_link_libraries
的${catkin_LIBRARIES}
换成一个个的so文件,在开头要LINK_DIRECTORIES(/opt/ros/noetic/lib)