【发布时间】:2010-12-08 08:43:01
【问题描述】:
很奇怪,如果我在调试模式下构建我的程序,我没有错误,但是如果我在发布模式下构建我的程序,我得到一个错误,说找不到 Msvcr90d.dll。 Msvcr90d.dll 是一个调试库,我不知道为什么当我加载它以进行发布时它会出现=/
【问题讨论】:
标签: c++ debugging release msvcr90d.dll
很奇怪,如果我在调试模式下构建我的程序,我没有错误,但是如果我在发布模式下构建我的程序,我得到一个错误,说找不到 Msvcr90d.dll。 Msvcr90d.dll 是一个调试库,我不知道为什么当我加载它以进行发布时它会出现=/
【问题讨论】:
标签: c++ debugging release msvcr90d.dll
如果您在构建期间收到警告 LNK 4098,请参阅此
http://msdn.microsoft.com/en-us/library/6wtdswk0(VS.71).aspx
并遵循建议。
另外,请确保您在代码生成选项卡下选择了正确的 C/C++ 运行时(多线程 DLL -- 不是多线程调试 DLL)
【讨论】:
msvcr90d.dll 是 C/C++ 库的调试版本。看起来您在某个调试目标上存在依赖关系。检查发布目标中的所有项目是否使用 C 运行时的发布版本,而不是调试。此外,请检查您可能使用的其他 3rd 方库 (DLL),以免它们依赖于 msvcr90d.dll
您可以使用dependency walker 工具来检查您的二进制文件的依赖关系,这样您就可以在您的解决方案中识别出仍然依赖于调试版本的C 库的项目。
【讨论】: