首页 > 解决方案 > cmake find_package(Boost) 选择 PATH

问题描述

我最近为 usr/local 中的一个项目安装了升级版本的 Boost 版本(1.71),而我将较旧的工作版本作为我的 SDK 的一部分${CUSTOMPATH}

由于一些错误,我需要在不卸载任何设置的情况下返回旧的提升。我尝试了以下实验来切换我的 Boost 位置,但它没有帮助。任何指针我做错了什么?有没有不移除升级提升的解决方法

CMAKE 片段

set(BOOST_ROOT "${CUSTOMPATH}/usr/local/include" )
set(BOOST_INCLUDEDIR "${CUSTOMPATH}/usr/local/include" )
set(BOOST_LIBRARYDIR "${CUSTOMPATH}/usr/local/libs" )
set(Boost_NO_SYSTEM_PATHS ON)
find_package(Boost REQUIRED COMPONENTS filesystem )

message("Boost include dirs: ${Boost_INCLUDE_DIRS}")
message("Boost libs: ${Boost_LIBRARIES}")

输出

找到Boost:/usr/local/lib/cmake/Boost-1.71.0/BoostConfig.cmake(找到版本“1.71.0”)找到组件:filesystem program_options system chrono timer

提升包含目录:/usr/local/include

Boost 库:Boost::filesystem

标签: boostcmake

解决方案


推荐阅读