【问题标题】:Debug libraries of boost getting used in Release mode in visual c++在 Visual C++ 中的发布模式下使用的 boost 调试库
【发布时间】:2011-10-15 12:10:39
【问题描述】:

我编写了一个在其实现中广泛使用 boost 的 DLL。我有 libboost_thread-vc80-mt-1_40.lib、libboost_thread-vc80-mt-gd-1_40.lib 的 boost 库的发布和调试版本。我正在使用 Visual Studio 来构建我的代码并使用自动链接。 当我在调试版本中构建 DLL 时,它会将自身与 libboost_thread-vc80-mt-gd-1_40.lib 链接,这是预期的,但是当我在发布模式下构建我的 DLL 时,它仍然会尝试将其与 libboost_thread-vc80-mt- 链接gd-1_40.lib 而不是 libboost_thread-vc80-mt-1_40.lib。我在发布模式下构建时使用 /MD。 我不确定我在这方面缺少什么,有人可以指出我。

【问题讨论】:

  • 这是自动的,由 boost/config/auto_link.hpp 和 #pragma 注释指令完成。您仍然有一个或多个使用 /MT 而不是 /MD 编译的 .obj 或 .lib 文件的简单解释。如果您不知道可能是哪个文件,请对“/MT”文件进行grep。

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


【解决方案1】:

您是否尝试过 /MT 而不是 /MD?

【讨论】:

  • 我没有 mts boost 库,所以我不能使用那个选项。
【解决方案2】:

查看发布配置中是否存在带有单词debug的预处理器定义,如果存在则必须删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 2011-09-02
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 2014-08-07
    • 2014-02-18
    相关资源
    最近更新 更多