安装ubuntu boost包后,cmake无法链接到自定义boost

安装ubuntu boost包后,cmake无法链接到自定义boost,ubuntu,boost,cmake,Ubuntu,Boost,Cmake,建筑超高密度(http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki) 下载链接 我想选择我正在使用的Boost版本 使用Ubuntu 11.10 64位 我已经用-fPIC构建了一个定制的Boost。我使用静态链接 我编辑host/CMakeLists.txt文件并添加 set(Boost_USE_STATIC_LIBS ON) set(BOOST_ROOT "/home/bastien/verisat/lib_boos

建筑超高密度(http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki) 下载链接 我想选择我正在使用的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")
在文件中已有的这3行之前

FIND_PACKAGE(Boost 1.49 COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
它总是链接到/usr/lib中的boost,而不是指定的boost 当我删除boostubuntu包时

sudo apt-get remove libboost-all-dev
sudo apt-get autoremove
然后它工作并指向指定的boost版本

我想不必卸载默认的boost就可以这么做?
默认值为1.46,我的为1.49,但设置最低版本无助于在某处安装正确的版本,并使用环境变量
BOOST\u ROOT
指定它。CMake将在正常系统路径之前尝试此操作。

您可以设置
Boost\u NO\u system\u 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]

我同意。我还使用了一个自定义的boost,在默认的boost之上使用了cmake,并在
FIND\u包(boost…
工作得很好)之前设置
SET(boost\u ROOT/dev/cpp/gcc47/boost)
。我已经完成了这项工作…如问题所示。但直到我卸载了默认的ubuntu boost(如问题中所述…)@user611191这很奇怪。可能是因为它的版本与基本安装版本相同?我不能说我以前遇到过这种情况。