开发者

The application has failed to start because cv210.dll was not found" - problem with running application in other computers

I'm writing small application using OpenCV. Everything works great on my computer. I can compile and run my program without any problems.However if I copy Debug directory to another computer and try to run MyApplication.exe I get

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

What is strange for me is the fact that all lib files are in Debug directory. Here is a list of files which are in 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.l开发者_StackOverflow社区ib
2010-04-06  02:12           181˙656 opencv_ffmpeg210d.lib

What should I do to run this program on other computers


The machine on which this fails doesn't have the necessary redistributable files for OpenCV. You need to provide them, or use static linking. Contrary to your assertion, cv210.dll is not in the list of files in your question.

Static linking is a good option in terms of convenience. For dynamic linking the easiest option, if OpenCV supports this, is just to place the required DLLs in the same folder as the executable.

However, since the debug folder you listed doesn't contain the DLL, I suspect that you are, for dynamic linking, expected to install it to some common location rather than alongside your executables. For definitive advice, consult the OpenCV documentation.


A .lib is not a DLL. A lib is like a collection of obj files. Compilers and linkers know about yout .lib file, but it is useless for the OS. You need a DLL for that


Have you tried putting cv210.dll into that debug directory?


Answer :Copy all the DLLs in \OpenCV\bin to \WINDOWS\System32.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜