OpenCV 2.4 staticlib link 仍然依赖 DLL? [windows]

OpenCV 2.4 staticlib link still relies on DLL? [windows]

我的系统是 Windows 64 位,我使用的是 VS 2013。我使用的是最新的 OpenCV 2.4 build for Windows.

我正在尝试编译一个使用 OpenCV 2.4 的简单 C 程序。动态 link 版本运行良好。但是我需要一个静态 linked 的,所以我想我可以将这个可执行文件复制到我的工作环境中。

当我尝试 运行 我的静态 linked 可执行文件时,该程序无法读取我的视频文件,但也不会抛出任何类型的异常。但是,如果我将 opencv dll 放入我的程序目录中,程序就会运行。

我已将附加库路径设置为包含 opencv\build\x64\vc12\staticlib。我已将 Runtime Library 设置为 Multi-threaded,但我想我仍然错过了一些选项。我就是想不通。

Here 是我在 OpenCV 论坛上 post 提出的问题。总结:

Build your own static library from scratch.

更新

重新post来自post的步骤:

  • 构建静态ffmpeg
  • 构建静态opencv和静态link到ffmpeg
  • 将程序和静态 link 构建到 opencv 和 ffmpeg 库

注意事项:如果您静态 link 到 ffmpeg[=,您可能会面临 法律 问题34=] 个图书馆。