gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 01:34:37 25 4
gpt4 key购买 nike

我正在使用 VS2008 创建我的应用程序的调试版本。编译后,当我尝试运行该应用程序时,出现了著名的“缺少 MSVCR90.dll”错误。

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

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

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

这是一张图片:

image

dependency walker - no functions visible

最佳答案

我找到了答案!

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

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

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

关于C++ 应用程序(调试版)包含 VS 运行时库 msvcr90.dll 和 msvcr90d.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39094220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com