您好,我正在尝试将 OpenCV 3.0 与 Visual Studio 2015 Enterprise 一起使用,但由于某种原因它无法正常工作,我做错了什么?
首先,我在 C:\opencv\中使用 7z 存档提取了 OpenCV
- 在 Visual Studio 项目 -> 测试项目属性中
Configuration -> All Configuration && Platform -> All Platform
- 配置属性 -> VC++ 目录 -> 包含目录 => C:\opencv\opencv\build\include
- 配置属性 -> VC++ 目录 -> 库目录 => C:\opencv\opencv\build\x86\vc12\lib
- 配置属性 -> C/C++ -> 常规 -> 附加包含库 => C:\opencv\opencv\build\include
- 配置属性 -> 链接器 -> 常规 -> 附加库目录 => C:\opencv\opencv\build\x86\vc12\bin
Configuration -> Debug && Platform -> All Platform
- 配置属性 -> 链接器 -> 输入 -> 附加依赖项 =>
opencv_ts300d.lib
opencv_world300d.lib
Configuration -> Release && Platform -> All Platform
- 配置属性 -> 链接器 -> 输入 -> 附加依赖项 =>
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 很简单。
- 下载CMAKE,安装
- 下载Opencv源码,解压
- 运行 Cmake 并为项目添加源目录和目标目录。
- 配置 Cmake 只需先选择正确的编译器 VS2015。有很多选择。先试试默认的。
- 运行 Cmake。结果是目标目录下的 Visual Studio 2015 项目,如 opencv.sln。
- 打开opencv.sln项目
- 使用 Visual Studio 2015 构建此项目。 结果是包含要包含的库的 VC14 目录。
逐图查看此教程。 Tutorial Here
您也可以使用 NUGET 控制台 Tutorial Nuget opencv
关于c++ - 带有 Visual Studio 2015 Enterprise 的 OpenCV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33063847/