2016-01-31 33 views
0

我想用OpenCV中的一些静态库创建一个简单的应用程序。我设法链接所有必需的.lib文件,包括opencv_world300d.lib,但在运行时它需要opencv_world300d.dll。我可以添加这个DLL所在的目录,但我只想要一个.exe(没有附加文件)。我点击任何地方的选项\ MT或\ MTd(没有dll) 我该如何做到这一点? 它适用于x86,Visual Studio 2012(v110)和OpenCV 3.0.0版。不幸的是,在lib文件中有一个对dll的引用。MS Visual Studio C++上的OpenCV应用程序需要一个DLL?

+0

然后,你需要建立一个静态库opencv(如果可能的话 - 我没有测试过)。您链接到的库是一个导入库(需要一个dll)。 – drescherjm

+3

您需要从_/OPENCV_DIR/build/...../staticlib_文件夹取得.lib文件,而不是_lib_文件夹。看看[这个](http://stackoverflow.com/a/31545237/5008845) – Miki

+0

http://stackoverflow.com/questions/3573475/how-does-the-import-library-work-details – drescherjm

回答

0

MS Visual Studio C++上的OpenCV应用程序需要DLL吗?

不一定。您可以链接到位于OPENCV_DIR/build/.../staticlib下的文件夹staticlib中的OpenCV静态库。

lib文件夹中的库用于动态链接,因此您还需要.dll。

你可以看看this答案的分步配置。

相关问题