gtsam的安装过程及lego-loam问题总结

📅 2026/7/11 10:33:40
gtsam的安装过程及lego-loam问题总结
注意不用卸载旧版本的gtsam只需要下载想要的版本重新源码编译安装一遍即可这样会把之前的版本直接覆盖掉。https://codechina.csdn.net/mirrors/borglab/gtsam/-/tree/4.0.0mkdirbuildcdbuild cmake..sudomakesudomakeinstall编译lego-loam可能报错CMake Error at /usr/share/cmake-3.5/Modules/CMakeFindDependencyMacro.cmake:45(message): Invalid arguments to find_dependency Call Stack(most recent call first): /usr/local/lib/cmake/GTSAM/GTSAMConfig.cmake:17(find_dependency)LeGO-LOAM/LeGO-LOAM/CMakeLists.txt:23(find_package)– Configuring incomplete, errors occurred!See also “/home/fish/catkin_legoLOAM/build/CMakeFiles/CMakeOutput.log”. See also “/home/fish/catkin_legoLOAM/build/CMakeFiles/CMakeError.log”. Invoking “cmake” failed解决方法将/usr/local/lib/cmake/GTSAM/GTSAMConfig.cmake:17 行的find_dependency改成find_package。改完后重新catkin_make -j1即可。编译lego-loam报错LEGO-LOAM编译出错 fatal error: cloud_msgs/cloud_info.h: No such file or directory。解决方案catkin_make-j1# 或者catkin_make-DCATKIN_WHITELIST_PACKAGEScloud_msgs运行lego-loam报错运行“ roslaunch lego_loam run.launch” 出现了如下图所示的错误下载官网的gtsam4.0.0版本重新编译安装gtsam即可。问题解决。。。经过多次测试我遇到的这种问题用以下方法可以解决。修改…/gtsam-4.0.0/cmake/GtsamBuildTypes.cmake# Clang uses a template depth that is less than standard and is too smallif(${CMAKE_CXX_COMPILER_ID}STREQUALClang)# Apple Clang before 5.0 does not support -ftemplate-depth.if(NOT(APPLE AND${CMAKE_CXX_COMPILER_VERSION}VERSION_LESS5.0))set(CMAKE_CXX_FLAGS${CMAKE_CXX_FLAGS}-ftemplate-depth1024)endif()endif()# 添加以下内容option(GTSAM_BUILD_WITH_MARCH_NATIVEEnable/Disable building with all instructions supported by native architecture (binary may not be portable!)ON)if(GTSAM_BUILD_WITH_MARCH_NATIVE)set(CMAKE_C_FLAGS${CMAKE_C_FLAGS}-marchnative)set(CMAKE_CXX_FLAGS${CMAKE_CXX_FLAGS}-marchnative)endif()/gtsam-4.0.0/CMakeLists.txtif(GTSAM_UNSTABLE_AVAILABLE)print_config_flag(${GTSAM_BUILD_UNSTABLE}Build libgtsam_unstable )endif()string(TOUPPER${CMAKE_BUILD_TYPE}cmake_build_type_toupper)# 添加以下内容print_config_flag(${GTSAM_BUILD_WITH_MARCH_NATIVE}Build for native architecture )此修改仅适用lego-loam如果编译运行lio-sam则不需要修改否则会报错。参考链接[1] Lego-LOAM 运行时出现错误[2] LeGO-LOAM编译、运行及其错误记录[3] 试LOAM以及LEGO-LOAM过程中遇到的坑