0

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

而不是 libboost_log-vc120-mt-sgd-1_57 (存在于我的 boost lib 目录中) cmake 搜索: libboost_log-vc120-mt-sd-1_57 不存在。

我曾尝试在调用 cmake(命令行参数)时以及在我的 cmakelists.txt 文件中启用 Boost_USE_DEBUG_RUNTIME,但它对 cmake find 搜索的库名称的 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,以免破坏以前的行为。

4

1 回答 1

0

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

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

第二,

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

于 2015-01-17T17:05:01.960 回答