使用的环境是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

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: