gpt4 book ai didi

boost - 如何确定 CMake 的 Boost 库名称

转载 作者:行者123 更新时间:2023-12-03 12:46:30 25 4
gpt4 key购买 nike

我想弄清楚 Find 需要哪些组件在 CMakeList.txt 中为 boost图书馆。
我看着这个目录/usr/local/include/boost .我随机挑选了一些文件夹并尝试使用 FIND_PACKAGE .以下这些都很有效。

FIND_PACKAGE(Boost COMPONENTS thread system log log_setup
signals graph memory_order program_options REQUIRED)
我正在使用的特定工具是 property_tree .它不起作用并产生以下错误消息:

CMake Error at /Applications/CMake.app/Contents/share/cmake-3.1/Modules/FindBoost.cmake:1182 (message):

Unable to find the requested Boost libraries.

Boost version: 1.55.0

Boost include path: /usr/local/include

Could not find the following static Boost libraries:

    boost_property_tree

谁能解释一下我如何或在哪里可以找到合适的库名称以进行 boost ?

最佳答案

COMPONENTS FIND_PACKAGE 的一部分只搜索已编译的库。它无法检查构成 Boost 主要部分的仅头文件库。只有少数库需要链接(主要是执行特定于平台的事情的库)。

从您的示例中,只有 thread , signals (与仅包含标题的 signals2 相反),systemprogram_options需要事先构建,然后与您的程序链接。对于其余的,包含相关的头文件就足够了。

因此,添加 ${Boost_INCLUDE_DIRS} 就足够了。到目标的包含目录。

有关这些库的库列表,请参见此处 Which boost libraries are header-only?

关于boost - 如何确定 CMake 的 Boost 库名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26749461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com