2

奇怪的是,如果我在调试模式下构建我的程序,我没有错误,但是如果我在发布模式下构建我的程序,我收到一个错误,说找不到 Msvcr90d.dll。Msvcr90d.dll 是一个调试库,我不确定为什么当我加载它以进行发布时它会出现 =/

4

2 回答 2

6

msvcr90d.dll 是 C/C++ 库的调试版本。看起来您在某个调试目标上存在依赖关系。检查发布目标中的所有项目是否使用 C 运行时的发布版本,而不是调试。此外,检查您可能使用的其他 3rd 方库 (DLL),以便它们不依赖于 msvcr90d.dll

您可以使用dependency walker 工具检查二进制文件的依赖关系,这样您就可以识别解决方案中仍然依赖于调试版本的C 库的项目。

于 2009-10-20T14:11:06.980 回答
1

如果您在构建期间收到警告 LNK 4098,请参阅此

http://msdn.microsoft.com/en-us/library/6wtdswk0(VS.71).aspx

并遵循建议。

此外,请确保您在代码生成选项卡下选择了正确的 C/C++ 运行时(多线程 DLL -- 不是多线程调试 DLL)

于 2009-10-20T14:10:39.080 回答