c++ - 应用程序启动失败,因为未找到 cv210.dll”- 在其他计算机上运行应用程序的问题

标签 c++ deployment opencv

我正在使用 OpenCV 编写小型应用程序。在我的电脑上一切都很好。我可以毫无问题地编译和运行我的程序。但是,如果我将 Debug 目录复制到另一台计算机并尝试运行 MyApplication.exe,我会得到

The application has failed to start because cv210.dll was not found" 

令我感到奇怪的是,所有的 lib 文件都在 Debug 目录中。这是文件列表 在调试中

    2010-04-06  02:05           471˙900 cv210.lib
2010-04-06  02:11           473˙226 cv210d.lib
2010-04-06  02:06           501˙562 cvaux210.lib
2010-04-06  02:12           503˙016 cvaux210d.lib
2010-04-06  02:04           411˙508 cxcore210.lib
2010-04-06  02:10           412˙836 cxcore210d.lib
2010-04-06  02:05           215˙142 cxts210.lib
2010-04-06  02:05           232˙778 highgui210.lib
2010-04-06  02:12           233˙396 highgui210d.lib
2011-04-01  06:04         1˙622˙192 libboost_filesystem-vc100-mt-1_46_1.lib
2011-09-03  16:17         1˙144˙320 MyApplication.exe
2011-09-03  16:17         4˙037˙024 MyApplication.ilk
2010-04-06  02:04           321˙358 ml210.lib
2010-04-06  02:11           322˙314 ml210d.lib
2010-04-06  02:05           181˙208 opencv_ffmpeg210.lib
2010-04-06  02:12           181˙656 opencv_ffmpeg210d.lib

如何在其他电脑上运行这个程序

最佳答案

失败的机器没有必要的 OpenCV 可再分发文件。您需要提供它们,或使用静态链接。与您的断言相反,cv210.dll 在您问题的文件列表中。

就便利性而言,静态链接是一个不错的选择。对于动态链接,如果 OpenCV 支持,最简单的选择就是将所需的 DLL 放在与可执行文件相同的文件夹中。

但是,由于您列出的调试文件夹不包含 DLL,我怀疑您希望通过动态链接将其安装到某个公共(public)位置,而不是与可执行文件一起安装。如需权威建议,请参阅 OpenCV 文档。

关于c++ - 应用程序启动失败,因为未找到 cv210.dll”- 在其他计算机上运行应用程序的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7293859/

相关文章:

deployment - 我应该如何创建自动部署脚本?

grails - 在一个servlet容器中部署的Grails应用程序的不同日志文件

macos - 安装 OpenCV 2.4.3 Mac OSX 链接 CXX 时出错

c++ - OpenCV 使用 Eclipse 和 CDT

opencv - 文字全景拼接

c++ - 为什么两个指针具有相同的内存地址?

c++ - 基类在被访问时未初始化

c++ - 使用 QT 的周期性代码

c++ - 指定一个 cin 值 (c++)

powershell - 为什么我的 PowerShell 模块不能正确导出成员以及为什么不能导出嵌套模块?