首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++应用程序(调试版本)包含VS运行库msvcr90.dll和msvcr90d.dll

C++应用程序(调试版本)包含VS运行库msvcr90.dll和msvcr90d.dll
EN

Stack Overflow用户
提问于 2016-08-23 06:53:07
回答 1查看 267关注 0票数 2

我正在使用VS2008创建应用程序的调试版本。编译后,当我尝试运行应用程序时,会得到著名的'MSVCR90.dll缺失‘错误。

最初,我试图将MSVCR90.dll从winsxs文件夹复制到应用程序文件夹中,但我得到了另一个著名的错误:“应用程序试图错误加载C运行时库”

最后,我试图检查应用程序的依赖性,结果发现了一些奇怪的东西。有两个MSVCR90库作为应用程序的依赖项-- msvcr90d.dll和msvcr90.dll。我不知道这个库的非调试版本是如何进入我的应用程序的。

我做错什么了。提前谢谢。

这是一张照片:

依赖步行器-没有可见的函数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-24 05:48:13

我找到答案了!

我使用/VERBOSE:LIB链接器标志来查找链接的哪一部分将MSVCR90.dll( application )库添加到我的应用程序中。

之后,使用/NODEFAULTLIB:MSVCRT.lib链接器标志到libs/exe,以避免库的MSVCRT.lib(版本)版本,并在链接期间强制执行“无冲突”。这将避免在可执行文件/库中使用MSVCRT的两个版本的库引用。

注意:如果希望在应用程序中避免MSVCRT的调试版本,则可以使用/NODEFAULTLIB:MSVCRTD.lib

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39094220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档