2014-06-09 120 views
1

我已經安裝了升壓像這樣在Ubuntu 14.04:如何使用cmake查找boost庫?

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,其中一個bug希望pool(一個僅包含頭文件的庫)具有.a或.so文件,或者我錯過了某些東西?

回答

3

由於Boost.Pool僅爲標題,因此不應將其列入find_package調用中。

如果find_package(Boost ...)調用成功,它將已經找到路徑升壓包括,這將意味着Boost.Pool將自動出現剛加入${Boost_INCLUDE_DIRS}target_include_directoriesinclude_directories電話。