Visual Studio 2015 使用较旧的 dll 进行调试
Posted
技术标签:
【中文标题】Visual Studio 2015 使用较旧的 dll 进行调试【英文标题】:Visual studio 2015 debugging with older dlls 【发布时间】:2015-10-26 21:29:22 【问题描述】:我正在尝试在 Windows 10 - Visual Studio 2015 下从 OpenCV 调试 sample application。
我已经根据 OpenCV wiki 配置了 Visual Studio,我可以编译应用程序并正常运行。
我遇到的问题是当我尝试调试应用程序时。我知道该程序无法启动,因为缺少MSVCP120D.dll
。我已经安装了来自 Microsoft 的 Visual C++ 2013 可再发行组件,但是它们没有附带调试 dll。
问题可能源于我使用的 OpenCV 版本 (D:\opencv\opencv\build\x64\vc12
) 是用 2013 年编译的。有没有办法获得这个 dll 的调试器版本?或者没有它就启动调试器?还是我不得不用 2015 重新编译 OpenCV?
谢谢。
【问题讨论】:
在您的项目设置中,您可以选择使用的编译器。选择vc120。但如果 Visual Studio 2015 未提供编译器,您可能需要先安装编译器 【参考方案1】:还是我不得不用 2015 重新编译 OpenCV?
您可能是因为混合不同的运行时 dll 是一个非常糟糕的主意。在您的情况下,您将编译的程序(MSVC 2015)与 OpenCV dll(MSVC 2013)混合。
您应该执行以下任一操作:
-
使用 MVSC 2013 编译您的程序,我相信这需要您在计算机上安装 MSVC 2013
使用 MSVC 2015 编译 OpenCV。
注意:使用 MSVC 2015 和更高版本的编译器编译的程序可能会更好,因为 Universal CRT
【讨论】:
以上是关于Visual Studio 2015 使用较旧的 dll 进行调试的主要内容,如果未能解决你的问题,请参考以下文章
将较新的 Visual Studio 版本与较旧的 MFC 版本一起使用?
在 Visual Studio 2017 中使用 3D Wavefront OBJ / STL
Microsoft Visual Studio 更改默认主题