【发布时间】:2015-03-02 09:00:34
【问题描述】:
我的系统是 Windows 64 位,我使用的是 VS 2013。我使用的是最新的 OpenCV 2.4 版本。
我正在尝试编译一个使用 OpenCV 2.4 的简单 C 程序。动态链接版本运行良好。但是我需要一个静态链接的,所以我想我可以将这个可执行文件复制到我的工作环境中。
当我尝试运行静态链接的可执行文件时,程序无法读取我的视频文件,但也不会引发任何类型的异常。但是如果我把 opencv dll 放到我的程序目录下,程序就可以工作了。
我已将附加库路径设置为包含opencv\build\x64\vc12\staticlib。我已将 Runtime Library 设置为 Multi-threaded,但我想我仍然错过了一些选项。我就是想不通。
【问题讨论】:
-
您必须将链接器输入目录设置为静态库 openCV 文件夹(并且您必须添加一些您可能没想到的额外库)
-
@Micka,是的,我也这样做了
-
通过使用opencv bin文件夹中的DLL,我发现
opencv_ffmpeg2410_64.dll是关键文件。但为什么呢? -
您是否从链接器目录中删除了动态库目录?您是否将任何 lib 目录添加到您的 path- 或 libs- 环境变量中?