【发布时间】:2013-05-03 07:54:12
【问题描述】:
我正在使用 CMake 构建一个项目,其中包括与 boost 相关的链接。我使用 CMake 2.8.7,我有
set(Boost_NO_SYSTEM_PATHS true)
我用
find_package(Boost COMPONENTS system filesystem regex REQUIRED)
然后我使用链接
target_link_libraries(projectname ${Boost_LIBRARIES})
我使用环境变量BOOST_ROOT来指定Boost的位置,我的问题如下:
当我设置时
BOOST_ROOT=/opt/Boost_1_47
CMake 将库的完整路径传递给链接器,而如果我设置了
BOOST_ROOT=/usr
它使用链接
-lboost_filesystem-mt
等等。 CMakeLists.txt 在这两种情况下都是一样的,我唯一改变的是环境变量 BOOST_ROOT。为什么 CMake 在这两种情况下都不传递完整路径?
【问题讨论】: