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

时间:2015-01-12 18:32:31

标签: c++ boost cmake cmake-gui

我在使用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 find搜索的库名称的ABI标记没有影响。

我使用的cmake版本是3.1.0

在他们写的documentation

  

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

所以默认情况下它应该搜索libboost_log-vc120-mt-sgd-1_57,同样在这个bug report中,他们引入了Boost_USE_DEBUG_RUNTIME标志,并且知道它应该默认设置为on,以便不破坏以前的行为。

1 个答案:

答案 0 :(得分:0)

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

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

第二

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