关于undefined reference问题
本人遇到的是在ros工作空间里面增加了一个文件,但是外层的CMakeLists.txt未进行修改,就导致编译器无法对该文件进行编译,虽然有其他文件的包含和编译检查通过了,但是仍然报错;
解决办法
首先保证确认该增加的文件已经加入add_library的库目录里面,可以用如下:
file(GLOB_RECURSE SOURCES "*.cpp")
file(GLOB_RECURSE HEADERS "*.h" "*.hpp")
add_library(${PROJECT_NAME} SHARED ${SOURCE_F} ${HEADERS})
任何的一行无关紧要语句改动,对CMakeLists.txt产生修改记录;
比如增加一行message打印即可,让catkin_make重新生产编译文件
message(STATUS "SOURCE_F: ${SOURCE_F}")