【发布时间】: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