【问题标题】:using the release version of boost libs in debug mode在调试模式下使用 boost libs 的发布版本
【发布时间】:2013-08-12 13:48:47
【问题描述】:

我有一个可视化 C++ 项目。我无法在调试模式下使用 boost_filesystem-vc110-mt-1_54.lib 的发布版本,并且它一直要求 boost_filesystem-vc110-mt-gd-1_54.lib。我知道调试模式应该使用调试库,但我不想构建并保留调试版本。我确实尝试了运行时库设置。

如何做到这一点?

【问题讨论】:

  • 您是说要在项目的调试版本中使用 boost 的发布版本吗?
  • 为什么?为什么要这样做?

标签: c++ visual-c++ boost


【解决方案1】:

简短的回答:你不知道。 Boost 使用了 C++ 运行时的一部分,它们在 Debug 和 Release 中的工作方式不同,所以东西最终是 likely to break

但是,如果您绝对想在脚下开枪:您可以通过设置 BOOST_ALL_NO_LIB 预处理器标志来阻止自动链接,然后手动链接到发布二进制文件。

【讨论】:

    【解决方案2】:

    你真的,真的不应该在调试版本中使用 Boost 的发布版本,因为(正如 ComicSansMS 所说)它链接到发布运行时库,而你的调试构建链接到调试运行时库。

    如果你真的想要 Boost 的发布版本(在 Filesystem 的情况下,我必须强调这可能没有用),你将不得不编译你自己的,它已经过优化但链接到调试运行时。

    【讨论】:

      猜你喜欢
      • 2011-01-05
      • 1970-01-01
      • 2014-02-18
      • 2014-11-07
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 2011-09-02
      • 2010-11-17
      相关资源
      最近更新 更多