cmake findboost 如何设置 ABI 的 -g 标签

cmake findboost how to set -g tag of the ABI?

本文关键字:ABI 标签 设置 findboost 何设置 cmake      更新时间:2023-10-16

我在查找带有 cmake 的 findboost 模块的 boost-log 库时遇到问题。

而不是 libboost_log-VC120-MT-SGD-1_57(存在于我的 Boost lib diretory 中)CMAKE 搜索:不存在的 libboost_log-VC120-MT-SD-1_57。

我试图在调用 cmake(命令行参数)时以及在我的 cmakelists.txt 文件中启用Boost_USE_DEBUG_RUNTIME,但它对库名称 cmake 查找搜索的 ABI 标签没有影响。

我使用的 CMAKE 版本是 3.1.0

在他们写的文档中:

Boost_USE_DEBUG_RUNTIME - 设置为 ON 或 OFF 以指定是否使用 链接到 MS 调试C++运行时的库 ("g"标签)。 默认值为开。

因此,默认情况下它应该搜索 libboost_log-VC120-MT-SGD-1_57,同样在此错误报告中,他们引入了 Boost_USE_DEBUG_RUNTIME 标志,并承认默认情况下应将其设置为 on 以免破坏以前的行为。

好的,我已经找到了问题的答案,因为事实证明我的示例中首先缺少 2 个配置,

变量 MSVC musst 设置为 true(这会导致 ABI 标记包含 g 值)

第二

变量 CMAKE_FIND_LIBRARY_SUFFIXES 是一个必须设置为值 lib dll

的列表