在 RELEASE 中构建时未找到 Msvcr90d.dll
奇怪的是,如果我在调试模式下构建我的程序,我没有错误,但如果我在发布模式下构建我的程序,我会收到一条错误,指出未找到 Msvcr90d.dll。 Msvcr90d.dll 是一个调试库,我不确定为什么当我加载它进行发布时会出现它=/
It's strange, if I build my program in debug mode, I have no errors, but if I build my program in released mode, I get an error saying that Msvcr90d.dll is not found.
Msvcr90d.dll is a debug library, I'm not sure why it's coming up when I load it for release =/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
msvcr90d.dll 是 C/C++ 库的调试版本。看起来您对调试目标有依赖。检查发布目标中的所有项目是否都使用 C 运行时的发布版本,而不是调试版本。另外,检查您可能使用的其他第 3 方库 (DLL),以便它们不依赖于 msvcr90d.dll
您可以使用 dependency walker 工具来检查二进制文件的依赖项,以便您可以识别解决方案中仍依赖于的项目C 库的调试版本。
msvcr90d.dll is a debug version of C/C++ library. It looks like you have a dependency somewhere on a debug target. Check that all the projects in release target use the release version of C runtime, and not the debug. Also, check other 3rd party libraries (DLLs) that you might use, so they not depend on msvcr90d.dll
You can use dependency walker tool to check the dependencies of your binaries, so you can identify the project in your solution that still depends on debug version of C library.
如果您在构建过程中收到警告 LNK 4098,请参阅此
http://msdn.microsoft.com/en-us/library/6wtdswk0(VS.71).aspx
并遵循建议。
另外,请确保您在“代码生成”选项卡下选择了正确的 C/C++ 运行时(多线程 DLL - 不是多线程调试 DLL)
If you are getting the warning LNK 4098 during build, please see this
http://msdn.microsoft.com/en-us/library/6wtdswk0(VS.71).aspx
And follow the recommendations.
Also, make sure that you chose the correct C/C++ runtime under the Code Generation tab (Multi-threaded DLL -- not Multithreaded Debug DLL)