好的,所以我有一个非常小的程序包含这三个boost进口:
#include <boost/asio.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/thread.hpp>
但这只是一个例子,我想要一个适用于其他标题的答案,如果可能的话。现在看一下/ usr / lib会得到一个包含39个静态库对象的列表,我可以链接到(或者放入我的CMakeLists.txt): List of libraries
如何知道哪个库正在/ usr / include / boost中实现哪个boost标头?
这是我的CMakeLists.txt的相关部分:
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED OFF)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost
1.63.0
REQUIRED
????
)
答案 0 :(得分:1)
Boost库具有文档here中定义的命名约定。例如。 libboost_thread.a
是Boost.Thread
的静态库。
在标题源中,您可以找到相关的库名称,例如在boost/thread.hpp
中有:
// See www.boost.org/libs/thread for documentation.
接下来,您需要了解库是否仅限标题。检查列表here。
某些库需要其他Boost库,例如:在某些情况下,Boost.Asio需要Boost.System
和Boost.Regex
。检查库使用情况documentation以了解此类依赖项。