我正在使用OpenCV编写小型应用程序。我的电脑上的一切都很棒。我可以编译并运行我的程序没有任何问题。但是,如果我将Debug目录复制到另一台计算机并尝试运行MyApplication.exe我得到
The application has failed to start because cv210.dll was not found"
对我来说奇怪的是所有lib文件都在Debug目录中。这是一个文件列表 在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
如何在其他计算机上运行此程序
答案 0 :(得分:1)
失败的机器没有OpenCV所需的可再发行文件。您需要提供它们,或使用静态链接。与您的断言相反,cv210.dll在您问题的文件列表中不。
静态链接在方便性方面是一个不错的选择。对于动态链接,最简单的选项,如果OpenCV支持,只需将所需的DLL放在与可执行文件相同的文件夹中。
但是,由于您列出的调试文件夹不包含DLL,我怀疑您是动态链接,希望将其安装到某个公共位置而不是可执行文件旁边。有关最终建议,请参阅OpenCV文档。
答案 1 :(得分:0)
您是否尝试过将cv210.dll放入该调试目录?
答案 2 :(得分:0)
.lib不是DLL。 lib就像是obj文件的集合。编译器和链接器知道你的.lib文件,但它对操作系统没用。你需要一个DLL
答案 3 :(得分:0)
答案:将\ OpenCV \ bin中的所有DLL复制到\ WINDOWS \ System32。