使用 Cmake 为 Visual Studio 2015 构建 OpenCV 3.0.0 的 DLL

Posted

技术标签:

【中文标题】使用 Cmake 为 Visual Studio 2015 构建 OpenCV 3.0.0 的 DLL【英文标题】:Building OpenCV 3.0.0's DLLs for Visual Studio 2015 with Cmake 【发布时间】:2015-09-02 13:04:41 【问题描述】:

按照此处的说明进行操作:

docs.opencv.org/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html#windows-visual-studio-how-to

我在 VS 2015 社区中设置了一个 OpenCV 项目并使用了预构建的库。在我收到这条消息之前它一直有效:

“您的计算机中缺少 MSVCP120D.dll”

通过一些搜索,我收集到这意味着预构建库只应该与旧版本的 VS 一起使用,所以我想我自己用这个来编译它们:

docs.opencv.org/doc/tutorials/introduction/windows_install/windows_install.html#windowssetpathandenviromentvariablehere

虽然它似乎可以正确编译并且尽管标记了“BUILD_SHARED_LIBS”,但我在输出中找不到任何 DLL 文件 - 只有很多 VS 解决方案:

imgur.com/JdSc5CH

有人能给我一些关于如何生成 DLL 的建议吗?

谢谢!

【问题讨论】:

您需要构建这些解决方案!打开 OpenCV.sln,构建解决方案,然后构建安装项目,调试和发布 你的库将在“安装”文件夹下 啊,现在工作 - 谢谢! 很高兴它有帮助。您可以发布详细说明您所做步骤的答案,然后接受它 【参考方案1】:

我是这方面的初学者。从那以后,我学到了很多关于 Visual Studio、CMake 和 OpenCV 的知识。现在一切正常,花了我一两天时间。

事实证明,您必须从 git 存储库编译 openCV 库才能与 Visual Studio (VS14) 2015 兼容。截至目前,没有支持 VS14 的预编译版本。

我已经整理了我学到的东西,把它放在online here 以防其他人有同样的挫败感。写的很详细,内容太多,这里就不贴了。

【讨论】:

【参考方案2】:

VS2015 使用 MSVCP140.dll,我认为您的错误消息是关于 VS2013 的可再发行包。

并尝试将 BUILD_SHARED_LIBS 打开/关闭。

【讨论】:

以上是关于使用 Cmake 为 Visual Studio 2015 构建 OpenCV 3.0.0 的 DLL的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Visual Studio Code 为 cmake 添加预构建步骤?

CMake 为 Win32 和 x64 生成 Visual Studio 2008 解决方案

cmake - 支持 Visual Studio 过滤器

将 CMake.txt 转换为 .vcxproj 文件 C++ Visual Studio 项目

使用Visual Studio + CMake 构建Qt程序弹出Console控制台

使用Visual Studio 2015,2017,CMake 3.10完全无法正常工作