使用的环境是ubuntu20.04
问题1.安装g2o没有问题,不过在编译整个项目工程时候报错:
”openmp_mutex.h: 30:10: fatal error: g2o/config.h: No such file or directory“:
解决办法:
只需要将/thirdparty/g2o/build/g2o下的config.h放到/thirdparty/g2o下:
问题2. No rule to make target ’gmock’,needed by '../bin/test_preintegration' . stop
src/ch4/CMakeFiles/test_preintegration.dir/all] Error 2:
解决办法:将/ch4/CmakeList.txt文件内容修改如下:
# 查找 Google Test,它应该也包含了 Google Mock find_package(GTest REQUIRED) include_directories(${GTEST_INCLUDE_DIRS}) # 添加您的库 add_library(${PROJECT_NAME}.ch4 gins_pre_integ.cc imu_preintegration.cc g2o_types.cc ) # 添加您的测试可执行文件 add_executable(test_preintegration test_preintegration.cc) # 链接 Google Test (它应该包含了 gmock) 以及其他依赖项 target_link_libraries(test_preintegration ${GTEST_BOTH_LIBRARIES} pthread glog gflags ${PROJECT_NAME}.ch4 ${PROJECT_NAME}.ch3 ${PROJECT_NAME}.common ) # 添加测试 add_test(NAME test_preintegration COMMAND test_preintegration) # 添加其他可执行文件 add_executable(run_gins_pre_integ run_gins_pre_integ.cc) target_link_libraries(run_gins_pre_integ ${PROJECT_NAME}.ch3 ${PROJECT_NAME}.ch4 ${G2O_LIBS}
问题3.No rule to make target ’gmock’,needed by '../bin/test_nn' . stop
CMakeFiles/Makefile2:4227:src/ch5/CMakeFiles/test_nn.dir/all]
修改/ch5/CMakeList.txt 内容为:
find_package(GTest REQUIRED) add_executable(point_cloud_load_and_vis point_cloud_load_and_vis.cc) target_link_libraries(point_cloud_load_and_vis ${PCL_LIBRARIES} ${GLOG_LIBRARIES} gflags ) add_executable(pcd_to_bird_eye pcd_to_bird_eye.cc) target_link_libraries(pcd_to_bird_eye ${PCL_LIBRARIES} ${GLOG_LIBRARIES} ${OpenCV_LIBS} gflags ) add_executable(scan_to_range_image scan_to_range_image.cc) target_link_libraries(scan_to_range_image ${PCL_LIBRARIES} ${GLOG_LIBRARIES} ${OpenCV_LIBS} gflags ) add_library(${PROJECT_NAME}.ch5 bfnn.cc kdtree.cc octo_tree.cc ) target_link_libraries(${PROJECT_NAME}.ch5 tbb ) add_executable(linear_fitting linear_fitting.cc) target_link_libraries(linear_fitting ${PCL_LIBRARIES} ${GLOG_LIBRARIES} ${OpenCV_LIBS} gflags ) add_executable(test_nn test_nn.cc) add_test(NAME test_nn COMMAND test_nn) target_link_libraries(test_nn GTest::GTest GTest::Main glog gflags ${PROJECT_NAME}.ch5 ${PROJECT_NAME}.common ${PCL_LIBRARIES} tbb
参考博文:
https://blog.csdn.net/ht_lf/article/details/134185779
参考阅读
发表评论