标签:bin cmake package boost Boost mac Sophus clion find
问题描述#include <boost/format.hpp>失败
在复现slam十四讲第五讲的代码,运行建立点云图的代码时,调用boost库的时候总是失败
CMakeLists.txt
cmake_minimum_required(VERSION 3.17)
find_package(Sophus REQUIRED)
include_directories(${Sophus_INCLUDE_DIRS})
find_package(Pangolin REQUIRED)
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIR})
add_executable(joinMap joinMap.cpp)
# 为什么在这要用Sophus::Sophus 为什么有的是_LIBS 有的是LIBRARIES
target_link_libraries(joinMap ${OpenCV_LIBS} ${Pangolin_LIBRARIES} ${Boost_LIBRARIES})
target_link_libraries(joinMap Sophus::Sophus)
错误:Could NOT find Boost (missing: Boost_INCLUDE_DIR)
/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /Users/leohao/Documents/YBU/Slam/ch5
CMake Error at /Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
Could NOT find Boost (missing: Boost_INCLUDE_DIR)
Call Stack (most recent call first):
/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:445 (_FPHSA_FAILURE_MESSAGE)
/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.17/Modules/FindBoost.cmake:2166 (find_package_handle_standard_args)
rgbd/CMakeLists.txt:7 (find_package)
-- Configuring incomplete, errors occurred!
See also "/Users/leohao/Documents/YBU/Slam/ch5/cmake-build-debug/CMakeFiles/CMakeOutput.log".
[Finished]
解决方案
set(BOOST_ROOT /Users/leohao/Documents/lib/boost_1_74_0)
将这句写在find_package(Boost REQUIRED)前
问题原因
CMake版本太旧。CMake无法检测到不同Boost库之间的依赖关系。可能更新CMake,它也将正常工作。
标签:bin,cmake,package,boost,Boost,mac,Sophus,clion,find 来源: https://blog.csdn.net/stdleohao/article/details/114759545
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。