安装 VC++ 2010 没有修复 dll 加载问题
我有一个使用 /MDd
编译的 C++ .exe
(因为我无法将 CLR 与 /MTd 一起使用)。起初,我在安装 VC++ 运行时时遇到 couldn't find x.dll
。我安装了 VC++ 2010 运行时后,仍然收到错误。我已验证它正在查找的 .dll
(msvcpsomethingd.dll
) 位于正确的文件夹 ([SystemDrive]\Windows\system32)。以前有人遇到过这个问题吗?
I have a C++ .exe
compiled with /MDd
(since I can't use CLR with /MTd). At first I was getting couldn't find x.dll
that is installed when installing the VC++ runtime. After I installed the VC++ 2010 runtime, I still get the error. I've verified that the .dll
it's looking for (msvcpsomethingd.dll
) is located in the correct folder ([SystemDrive]\Windows\system32
). Has anyone run into this problem before?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如何部署调试 CRT .dll
如何部署 CRT .dll一般到应用程序本地文件夹
简短的回答是,您必须在目标计算机上使用自定义安装项目显式安装 VS 2010 的 CRT 调试运行时,或者确保平台的 CRT .dll 位于与该应用程序。
如果您使用多个版本的调试 CRT(即 x86 和 x64),则必须显式安装 CRT。
How to deploy debug CRT .dlls
How to deploy CRT .dlls in general to the application local folder
The short answer is you have to explicitly install the CRT debug runtime for VS 2010 with a custom setup project on the target machines OR ensure the CRT .dlls for the platform are in the same folder as the application.
You will have to explicitly install the CRT if you are using multiple versions of the debug CRT (i.e., x86 and x64).
解决这些问题的最佳方法是使用 depends.exe 工具。分析该程序,它会告诉您缺少什么。
The best way to solve these issues is to use the depends.exe tool. Profile the program and it will tell what you are missing.
以release模式编译并在不同PC上运行。看起来您的一个/多个 DLL 是使用调试构建或依赖项进行编译的。
它也可能是您参考的图书馆..
Compile with release mode and run on different PC. It seems like one/more of your DLLs are compiled using Debug build or dependencies.
It could be your referenced library as well..
确保安装了正确的 VC++ 2010 可再发行组件:
Ensure that correct Redestributable of VC++ 2010 is installed: