ROS编译的过程中,出现报错:“c++: error: $[catkin_LIBRARIES]: 没有那个文件或目录”错误
问题描述
编译的过程中,详细报错如下:
[ 50%] Building CXX object test_pkg/CMakeFiles/hello.dir/src/helloworld.cpp.o [100%] Linking CXX executable /home/zzw/test_ws/devel/lib/test_pkg/hello c++: error: $[catkin_LIBRARIES]: 没有那个文件或目录 make[2]: *** [test_pkg/CMakeFiles/hello.dir/build.make:84:/home/zzw/test_ws/devel/lib/test_pkg/hello] 错误 1 make[1]: *** [CMakeFiles/Makefile2:688:test_pkg/CMakeFiles/hello.dir/all] 错误 2 make: *** [Makefile:141:all] 错误 2 Invoking "make -j8 -l8" failed mInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget(); }
原因分析:
Cmakelist.txt编译文件写错了。之前错误写成:
add_executable(节点名 src/文件名) target_link_libraries(节点名 $[catkin_LIBRARIES])解决方案:
cmakelist中给出的规则提示:
## Declare a C++ executable
## With catkin_make all packages are built within a single CMake context
## The recommended prefix ensures that target names across packages don't collide
# add_executable(${PROJECT_NAME}_node src/test_pkg_node.cpp)
## Specify libraries to link a library or executable target against
# target_link_libraries(${PROJECT_NAME}_node
# ${catkin_LIBRARIES}
# )
修改为:
add_executable(节点名 src/文件名)
target_link_libraries(节点名 ${catkin_LIBRARIES})



