c++ - Visual Studio 2015 使用较旧的 dll 进行调试

标签 c++ visual-studio opencv dll

我正在尝试调试 sample application来自 Windows 10 下的 OpenCV - Visual Studio 2015。

我已经根据 OpenCV wiki 配置了 Visual Studio,我可以编译应用程序并正常运行。

我遇到的问题是在尝试调试应用程序时。我了解到该程序无法启动,因为缺少 MSVCP120D.dll。我已经安装了 Microsoft 的 Visual C++ 2013 可再发行组件,但是它们没有附带调试 dll。

这个问题可能源于我使用的 OpenCV 版本 (D:\opencv\opencv\build\x64\vc12) 是用 2013 编译的。有没有办法得到这个dll的调试器版本?或者在没有它的情况下启动调试器?还是我不得不用 2015 重新编译 OpenCV?

谢谢。

最佳答案

Or am I stuck having to recompile OpenCV with 2015?

你可能是因为混合不同的运行时 dll 是一个非常糟糕的主意。在您的情况下,您将编译的程序 (MSVC 2015) 与 OpenCV dll (MSVC 2013) 混合在一起。

您应该执行以下任一操作:

  1. 用 MVSC 2013 编译你的程序,我相信这需要你在你的机器上安装 MSVC 2013
  2. 使用 MSVC 2015 编译 OpenCV。

注意:由于 Universal CRT,使用 MSVC 2015 和更高版本的编译器编译的程序可能会更好。

关于c++ - Visual Studio 2015 使用较旧的 dll 进行调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33355991/

相关文章:

C++函数作为参数错误

c++ - 将 char * 转换为 LPWSTR

c++ - 不确定在单向链表中显示唯一数据

python - Opencv 找不到所有轮廓

c - 使用摄像机源中的 ROI 作为 cvMatchTemplate 的模板

c++ - 指针数据成员未初始化

javascript - Visual Studio Code 中是否有 "immediate window"来运行 Javascript?

visual-studio - 为什么 VS2019 的“转到实现”可能会显示重复的引用?

visual-studio - Visual Studio 有时不保存文件

c++ - 检查图像是否均匀