我已经在Ubuntu 14.04上安装了这样的提升:
sudo apt-get install libboost-all-dev libboost-dev
如果我的CMakeLists.txt文件中有以下内容:
SET ( Boost_DEBUG 1 )
SET ( Boost_USE_STATIC_LIBS ON )
SET ( Boost_USE_MULTITHREADED ON )
SET ( Boost_USE_STATIC_RUNTIME ON )
FIND_PACKAGE ( Boost COMPONENTS log regex pool date_time REQUIRED )
Cmake找到其他boost库没有问题,但找不到pool
。我得到以下内容:
CMake Error at /usr/share/cmake-2.8/Modules/FindBoost.cmake:1131 (message):
Unable to find the requested Boost libraries.
Boost version: 1.54.0
Boost include path: /usr/include
Could not find the following static Boost libraries:
boost_pool
我可以看到文件应该在哪里,以及其余的提升包括:
> locate pool/pool.hpp
/usr/include/boost/pool/pool.hpp
cmake 2.8.12中是否存在错误,它希望池(仅限标题库)具有.a或.so文件,或者我是否遗漏了某些内容?
答案 0 :(得分:3)
由于Boost.Pool仅限标题,因此您不应在find_package
来电中列出。
如果find_package(Boost ...)
调用成功,它将找到Boost包含的路径,这意味着只需将${Boost_INCLUDE_DIRS}
添加到target_include_directories
即可自动使用Boost.Pool或include_directories
来电。