Pet*_*ter 6 boost cmake anaconda
我正在尝试通过 CMake 在 Linux 上构建一个依赖于 Boost 的项目。该项目的 CMakeLists.txt 包含以下行:
find_package(Boost 1.46 REQUIRED COMPONENTS system thread filesystem)
出于可重复性的原因,我已经通过安装了所需的 Boost 标头,conda install libboost以便它们位于 
~/anaconda3/envs/.../include/boost而不是位于/usr/local/include. 不是当我运行时cmake,我收到如下错误:
CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:761 (message):
  Imported targets not available for Boost version
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:865 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1470 (_Boost_MISSING_DEPENDENCIES)
  cmake/Dependencies.cmake:5 (find_package)
  CMakeLists.txt:43 (include)
我该怎么做才能让 CMake 找到我的 Boost 标头?
为了给 CMake 提示,你的系统上安装了 Boost,你必须BOOST_ROOT相应地设置变量。在你的例子中,这似乎是
BOOST_ROOT=~/anaconda3/envs/.../
请注意,您必须指定lib和include文件夹的父目录。文件树应如下所示:
BOOST_ROOT/
|-- include/
|   |-- boost/
|   |   |-- *.hpp
|   |   `-- ...
|   `-- ...
`-- lib/
    |-- libboost_*.so
    `-- ...
另请注意:您仅编写有关标头的内容,但请记住,您要使用的这三个组件不是仅标头的,而是您的程序必须链接的实际库。
| 归档时间: | 
 | 
| 查看次数: | 4209 次 | 
| 最近记录: |