catkin build 时出现错误: No rule to make target "xxx.so "
这种情况大概率是so路径不对,或者该路径下没有xxx.so
原cmakelists,so为绝对路径
add_dependencies(SmartCar ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(SmartCar
${catkin_LIBRARIES}
"~/catkin_ws/src/RosCode/ninebot_gx/lib/libgxctrl_arm64-v8a.so"
)
不知怎么修改了catkin_ws名称为cakin_ws,so文件自然就找不到了
为防止这种事情发生,将绝对路径修改为相对路径
message( "project source dir " ${PROJECT_SOURCE_DIR} )
add_dependencies(SmartCar ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
target_link_libraries(SmartCar
${catkin_LIBRARIES}
"~/catkin_ws/src/RosCode/ninebot_gx/lib/libgxctrl_arm64-v8a.so"
#"~/catkin_ws/src/RosCode/ninebot_gx/lib/libgxctrl_arm64-v8a.so"
${PROJECT_SOURCE_DIR}/lib/libgxctrl_arm64-v8a.so
)