CMakelists.txt中的add_executable:
add_executable(ast_topology_new src/ast_topology_new.cpp src/main.cpp src/vfh_to_goal1109.cpp)
add_executable(get_slam_data src/get_slam_data.cpp src/vfh_to_goal1109.cpp)
add_executable(test_gcl src/test_gcl.cpp )
add_executable(ast_topology_toro src/ast_topology_toro.cpp
把vfh_to_goal1109.h放在ast_topology_new.cpp 里定义一个vfh_to_goal1109.h里声明的类没问题,但是把ast_topology_new.h放在vfh_to_goal1109.cpp里,定义一个ast_topology_new.h里声明的类总是报错,对‘XXXX’未定义的引用其中'xxxx'是定义的那个类,原因在这add_executable(get_slam_data src/get_slam_data.cpp src/vfh_to_goal1109.cpp),把它改为add_executable(get_slam_data src/get_slam_data.cpp src/vfh_to_goal1109.cpp src/ast_topology_new.cpp)就对了.
所有涉及src/vfh_to_goal1109.cpp生成可执行文件的,都必须添加src/ast_topology_new.cpp