建筑UHD(http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki) 下载链接https://github.com/EttusResearch/UHD-Mirror/zipball/release_003_004_003 我想选择我正在使用的Boost版本
使用Ubuntu 11.10 64位 我用-fPIC构建了一个自定义Boost。我使用静态链接 我编辑了host / CMakeLists.txt文件并添加了
set(Boost_USE_STATIC_LIBS ON)
set(BOOST_ROOT "/home/bastien/verisat/lib_boost_1_49_0_with_test_po_fPIC")
set(BOOST_INCLUDEDIR "/home/bastien/verisat/lib_boost_1_49_0_with_test_po_fPIC/include")
set(BOOST_LIBRARYDIR "/home/bastien/verisat/lib_boost_1_49_0_with_test_po_fPIC/lib")
在这三行已经存在于文件
之前FIND_PACKAGE(Boost 1.49 COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
它总是链接到/ usr / lib中的boost而不是指定的那个 当我删除boost ubuntu包时
sudo apt-get remove libboost-all-dev
sudo apt-get autoremove
然后它工作并指向指定的提升版本
我希望能够在不必卸载默认提升的情况下这样做吗? 默认值为1.46,而我的是1.49,但设置最低版本没有帮助
答案 0 :(得分:4)
您可以设置Boost_NO_SYSTEM_PATHS
变量:
# Boost_NO_SYSTEM_PATHS Set to TRUE to suppress searching in system
# paths (or other locations outside of BOOST_ROOT
# or BOOST_INCLUDEDIR). Useful when specifying
# BOOST_ROOT. Defaults to OFF.
# [Since CMake 2.8.3]
答案 1 :(得分:2)
在某处安装正确的版本并使用环境变量BOOST_ROOT
来指定它。 CMake将在正常的系统路径之前尝试。