使用 Visual Studio 2008 构建 OpenCV 应用程序并从另一台计算机运行它

Posted

技术标签:

【中文标题】使用 Visual Studio 2008 构建 OpenCV 应用程序并从另一台计算机运行它【英文标题】:Building an OpenCV application with Visual Studio 2008 and running it from another computer 【发布时间】:2010-03-29 17:37:39 【问题描述】:

我已经使用 Visual Studio 2008 制作了一个简单的 OpenCV 应用程序,并且我已经在发布模式和调试模式下构建了它。它在我的计算机上运行良好,但是当我尝试从另一台没有它的计算机上运行它时安装了 OpenCV 或有其他版本的 Visual Studio 与 OpenCV 无法正常工作。

如何使应用程序在未安装 Visual Studio 或 OpenCV 的计算机上运行?

我正在考虑将外部依赖项(lib 和 dll)添加到应用程序的文件夹中,更改 Visual Studio 中的路径并重新构建它。

在此先感谢,并对这个超无聊的问题表示歉意:)

【问题讨论】:

【参考方案1】:

您不需要分发库;这些只是构建可执行文件所需要的。 只需将 dll 复制到可执行文件可以看到它们的地方(与 exe 位于同一目录中,或在系统路径上的目录中),您应该是黄金。

【讨论】:

如果这行得通,那就太好了。那时候对我来说肯定是不够的。 :)【参考方案2】:

将 DLL 与应用程序或路径复制是一个好的开始,但可能还不够。我花了很长时间才弄清楚为什么 OpenCV 应用程序不能在另一台机器上运行。 OpenCV 使用 Visual Studio 运行时和 OpenMP。这些默认情况下不会安装,并且错误消息(如果有)并不是那么有用。

您需要使用设置(在 Visual Studio 中)构建 OpenCV 和您的应用程序: 配置属性 -> C/C++ -> 代码生成 -> 运行时库 -> 多线程 (/MT) 如果这是问题,您也需要禁用 OpenMP 支持。 OpenCV 2.0 更改了构建系统。如果我没记错的话,旧版本对于没有 OpenMP 的版本有不同的项目文件。

【讨论】:

以上是关于使用 Visual Studio 2008 构建 OpenCV 应用程序并从另一台计算机运行它的主要内容,如果未能解决你的问题,请参考以下文章

使用 Visual Studio 2008 构建 boost python 示例

图表构建不正确(MS Visual Studio Reports 2008)

如何在 Access2007 中使用基于 Visual Studio (2008/2010) 构建的 XML Web 服务

visual studio 2008 - 构建问题

无法在 Visual Studio 2008 中构建 Boost.python。编译出错

使用 Visual Studio 2008 构建 OpenCV 应用程序并从另一台计算机运行它