c++ - 带有 Visual Studio 2015 Enterprise 的 OpenCV

标签 c++ opencv visual-studio-2015

您好,我正在尝试将 OpenCV 3.0Visual Studio 2015 Enterprise 一起使用,但由于某种原因它无法正常工作,我做错了什么?

首先,我在 C:\opencv\中使用 7z 存档提取了 OpenCV

  1. 在 Visual Studio 项目 -> 测试项目属性中

Configuration -> All Configuration && Platform -> All Platform

  1. 配置属性 -> VC++ 目录 -> 包含目录 => C:\opencv\opencv\build\include
  2. 配置属性 -> VC++ 目录 -> 库目录 => C:\opencv\opencv\build\x86\vc12\lib
  3. 配置属性 -> C/C++ -> 常规 -> 附加包含库 => C:\opencv\opencv\build\include
  4. 配置属性 -> 链接器 -> 常规 -> 附加库目录 => C:\opencv\opencv\build\x86\vc12\bin

Configuration -> Debug && Platform -> All Platform

  1. 配置属性 -> 链接器 -> 输入 -> 附加依赖项 =>

opencv_ts300d.lib

opencv_world300d.lib

Configuration -> Release && Platform -> All Platform

  1. 配置属性 -> 链接器 -> 输入 -> 附加依赖项 =>

opencv_ts300.lib

opencv_world300.lib


现在,当我运行示例代码时,出现 MSVCP120D.dll 丢失和 MSVCR120D.dll 丢失且无法打开输入文件“kernel32.lib”错误。有没有人遇到同样的问题或知道解决方案?

最佳答案

MSVCP120D.dll 一种选择是为旧版 Visual Studio 安装可重新分发的包。并将此库从 ProgramFiles/MicrosoftSDK/Windows/version/libs 直接包含在您的应用程序中。这条路径在安装过程中很容易找到。 这是针对 Visual Studio 2013 的 Package Here

更好的方法是使用 cmake 和 visual studio 重新编译 opencv。

首先使用 Visual Studio 2015 编译器从源代码构建 opencv。这降低了旧框架在您的计算机中丢失的风险。您需要 vc14 目录作为库的来源。 Prebuild libs 仅适用于 VS 2012 和 2013,即 opencv/build/x64 或 x86 下的 VC11 和 VC12 libs 文件夹。 Spep 很简单。

  1. 下载CMAKE,安装
  2. 下载Opencv源码,解压
  3. 运行 Cmake 并为项目添加源目录和目标目录。
  4. 配置 Cmake 只需先选择正确的编译器 VS2015。有很多选择。先试试默认的。
  5. 运行 Cmake。结果是目标目录下的 Visual Studio 2015 项目,如 opencv.sln。
  6. 打开opencv.sln项目
  7. 使用 Visual Studio 2015 构建此项目。 结果是包含要包含的库的 VC14 目录。

逐图查看此教程。 Tutorial Here

您也可以使用 NUGET 控制台 Tutorial Nuget opencv

关于c++ - 带有 Visual Studio 2015 Enterprise 的 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33063847/

相关文章:

python - 在Raspberry Pi上通过OpenCV编写的视频未运行

opencv - 使用solvePnP时的断言错误

visual-studio - Qt Visual Studio 社区插件

node.js - 无法将reactjs的webpack 1.5.2更新到webpack 2.0.0

c++ - 使用坐标数组在QOpenGLWidget中绘制GL_LINE

c++ - 销毁时神秘的段错误

javascript - Spidermonkey:实现 "this"?

opencv - 如何在Unity3D中检测人体

c++ - 类构造函数或析构函数之后的分号(;)

ios - 语法错误 : Unexpected token M (when running cordova project from Visual Studio 2015)