如何确定CMake的Boost库名称

Yuc*_*ong 18 boost cmake

我试图找出FindCMakeList.txt中的boost库的组件.

我看了看这个目录/usr/local/include/boost.然后我随机挑选一些文件夹并尝试使用FIND_PACKAGE.以下一切运作良好.

FIND_PACKAGE(Boost COMPONENTS thread system log log_setup
                    signals graph memory_order program_options REQUIRED)
Run Code Online (Sandbox Code Playgroud)

我正在使用的特别之一是property_tree.它无法正常工作并产生以下错误消息:

/Applications/CMake.app/Contents/share/cmake-3.1/Modules/FindBoost.cmake:1182(消息)中的CMake错误:

无法找到请求的Boost库.

提升版:1.55.0

Boost包括路径:/ usr/local/include

找不到以下静态Boost库:

    boost_property_tree
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释我如何或在哪里可以找到适当的库名称进行提升?

Joh*_* S. 21

COMPONENTS部分FIND_PACKAGE只对编译库搜索.它无法检查构成Boost主要部分的仅包含头的库.只有少数库需要链接(主要是那些执行特定于平台的事物).

从你的例子,只是thread,signals(与signals2其中只头),systemprogram_options需建立与您事先计划,然后联系.对于其余部分,包含相关的头文件就足够了.

因此,添加${Boost_INCLUDE_DIRS}到目标的include目录就足够了.

在这里查看这些库的库列表哪些boost库只是标题?