高翔:《自动驾驶与机器人中的SLAM技术 》-Slam_in_autonomous_driving 编译过程中遇到的问题

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

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 23:18:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 23:18:06       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 23:18:06       82 阅读
  4. Python语言-面向对象

    2023-12-05 23:18:06       91 阅读

热门阅读

  1. Golang WebSocket 心跳

    2023-12-05 23:18:06       58 阅读
  2. 在Spring Boot中配置@Async的线程池的拒绝策略

    2023-12-05 23:18:06       56 阅读
  3. Spring Boot 最核心的 25 个注解

    2023-12-05 23:18:06       49 阅读
  4. Cpp之旅(学习笔记)第10章 字符串和正则表达式

    2023-12-05 23:18:06       47 阅读
  5. 说说过量 tcp pure ack 的利弊

    2023-12-05 23:18:06       55 阅读
  6. React 基础使用

    2023-12-05 23:18:06       57 阅读
  7. ElasticSearch之Delete index API

    2023-12-05 23:18:06       66 阅读
  8. SpringBoot学习笔记-实现微服务:匹配系统(中)

    2023-12-05 23:18:06       49 阅读
  9. Python【匹配符号】

    2023-12-05 23:18:06       54 阅读
  10. 深入了解HttpSession:Web开发中的用户状态管理

    2023-12-05 23:18:06       50 阅读
  11. Vue3的reactive、ref、toRef、toRefs用法以及区别

    2023-12-05 23:18:06       55 阅读
  12. SQL语句常用语法(开发场景中)

    2023-12-05 23:18:06       41 阅读
  13. 数据结构:链表应用:第8关:链表的逆转

    2023-12-05 23:18:06       54 阅读
  14. 【.NET Core】Linq查询运算符(一)

    2023-12-05 23:18:06       37 阅读