C++ 由于找不到cv210.dll,应用程序无法启动";-在其他计算机上运行应用程序时出现问题

C++ 由于找不到cv210.dll,应用程序无法启动";-在其他计算机上运行应用程序时出现问题,c++,deployment,opencv,C++,Deployment,Opencv,我正在使用OpenCV编写小型应用程序。在我的电脑上一切都很好。我可以毫无问题地编译和运行我的程序。但是,如果我将调试目录复制到另一台计算机并尝试运行MyApplication.exe,我会得到 The application has failed to start because cv210.dll was not found" 对我来说奇怪的是,所有的lib文件都在调试目录中。这是一个文件列表 正在调试的 2010-04-06 02:05 471˙900 c

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

The application has failed to start because cv210.dll was not found" 
对我来说奇怪的是,所有的lib文件都在调试目录中。这是一个文件列表 正在调试的

    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

要在其他计算机上运行此程序,我应该做些什么

您是否尝试将cv210.dll放入该调试目录

您是否尝试将cv210.dll放入该调试目录

发生此故障的机器没有OpenCV所需的可再发行文件。您需要提供它们,或者使用静态链接。与您的断言相反,cv210.dll在您的问题中的文件列表中不是

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


但是,由于您列出的调试文件夹不包含DLL,我怀疑,对于动态链接,您应该将其安装到某个公共位置,而不是安装在可执行文件旁边。有关明确的建议,请参阅OpenCV文档。

发生此故障的机器没有OpenCV所需的可再发行文件。您需要提供它们,或者使用静态链接。与您的断言相反,cv210.dll在您的问题中的文件列表中不是

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


但是,由于您列出的调试文件夹不包含DLL,我怀疑,对于动态链接,您应该将其安装到某个公共位置,而不是安装在可执行文件旁边。有关明确的建议,请参阅OpenCV文档。

A.lib不是DLL。lib类似于obj文件的集合。编译器和链接器知道yout.lib文件,但它对操作系统没有用处。你需要一个DLL来实现它。lib不是DLL。lib类似于obj文件的集合。编译器和链接器知道yout.lib文件,但它对操作系统没有用处。您需要一个DLL来执行此操作。

答案:将\OpenCV\bin中的所有DLL复制到\WINDOWS\System32。

答案:将\OpenCV\bin中的所有DLL复制到\WINDOWS\System32。

它位于调试目录中。你可以在清单上看到我在清单上看不到。“我的浏览器”中的搜索工具也看不到它。它位于调试目录中。你可以在清单上看到我在清单上看不到。我的浏览器中的搜索工具也看不到它。对一个文件如此困惑有一个解释。您需要将Windows资源管理器切换到“程序员模式”。在Windows 7中,单击“组织”、“文件夹和搜索选项”、“视图”选项卡。取消勾选“隐藏已知文件类型的扩展名”。对文件如此困惑有一个解释。您需要将Windows资源管理器切换到“程序员模式”。在Windows 7中,单击“组织”、“文件夹和搜索选项”、“视图”选项卡。取消勾选“隐藏已知文件类型的扩展名”。