如何使用cmake查找boost池库?

时间:2014-06-09 21:41:37

标签: linux cmake boost-pool

我已经在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文件,或者我是否遗漏了某些内容?

1 个答案:

答案 0 :(得分:3)

由于Boost.Pool仅限标题,因此您不应在find_package来电中列出。

如果find_package(Boost ...)调用成功,它将找到Boost包含的路径,这意味着只需将${Boost_INCLUDE_DIRS}添加到target_include_directories即可自动使用Boost.Pool或include_directories来电。