Linux内核驱动开发笔记:我是如何给一个USB转串口模块‘写’驱动的(CDC ACM框架剖析)
2026/4/15 13:17:11
/home/nv/ws/slcar/src/bag_ants/ants_explorer_unknown/tsp_solver/lkh_mtsp_solver/src2/mtsp_node.cpp:6:10: fatal error: lkh_mtsp_solver/SolveMTSP.h: 没有那个文件或目录 6 | #include <lkh_mtsp_solver/SolveMTSP.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated.add_dependencies(mtsp_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) target_link_libraries(mtsp_node ${catkin_LIBRARIES} lkh_mtsp_solver -lm)add_dependencies(mtsp_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})为mtsp_node添加编译依赖关系,确保在编译mtsp_node之前,以下两类目标已经构建完成:
${${PROJECT_NAME}_EXPORTED_TARGETS}:
表示当前 ROS 包(即lkh_mtsp_solver)中通过add_library()或add_message_files()等生成的自定义目标(例如消息.msg、服务.srv、动作.action对应的头文件,或本包内定义的库)。
例如,如果你的包定义了自定义消息,那么必须等这些消息的头文件生成后,才能编译使用它们的节点。
${catkin_EXPORTED_TARGETS}:
表示所有被find_package(catkin REQUIRED COMPONENTS ...)声明的依赖包中需要先生成的目标(比如其他 ROS 包的消息头文件、动态库等)。