【发布时间】:2018-08-25 23:32:42
【问题描述】:
我的应用程序(用 VS2015 编译)加载了第 3 方 DLL(用 VS2008 编译)。在发行版中运行应用程序只需要目标机器上 MS 网页上的 VS2008 和 VS2015 的可再发行组件。
在调试模式下运行应用程序(例如在另一台开发人员机器上)需要 VS2008 的 debug 可再发行组件,应避免使用。复制第 3 方 DLL 旁边的 msvcX90d.dll 不会成功。有什么想法可以说服 Windows 加载 VS2008 调试运行时吗?我的应用程序需要清单吗?是哪一个?
关于混合运行时的仅供参考
是的,我对混合运行时不满意,但在我的上下文中,两个运行时不会相互干扰。并且重新编译第 3 方 DLL 不是一种选择。
进一步简化问题。如何在 VS2015 编译的应用程序中加载 msvcr90d.dll?
LoadLibrary(L"msvcr90d.dll");
【问题讨论】:
-
谢谢,但据我所知,这仅指对 VS2015(及更高版本)可再发行组件的改进。我的问题其实是VS2008 lib
-
它不会删除 VS 2008 CRT 的第 3 方
.dll依赖。 -
你不需要。但是可以避免重新分发 VC 17 CRT。与solution的另一个链接
-
没有debug redist。安装调试运行时的唯一合法方法是安装适当的开发环境。在这种情况下,您需要安装 VS 2008。
标签: c++ windows visual-studio visual-studio-2015 dllimport