我想创建一个可执行文件,我可以将它移动到另一台没有安装 OpenCV 的计算机上。
因此,我试图将所有需要的库静态链接到可执行文件中(这就是它所谓的对吗?)。该程序编译得很好,可以在我的本地计算机上运行,但是当我将它复制到另一台计算机时,它抱怨它缺少 .dll 文件并且不会执行。
我在 Windows 7 上使用 eclipse juno 和 mingw 作为编译器。
到目前为止我的进展:我已将 opencv\build\x86\mingw\lib 所需的库包含到 MinGW C++ 链接器 -> 项目属性中的库中。
opencv_core244.dll
opencv_highgui244.dll
opencv_imgproc244.dll
在原始文件夹中,这些被称为:
libopencv_core244.dll.a
libopencv_highgui244.dll.a
libopencv_imgproc244.dll.a
我已将 MinGW C++ Linker -> miscellaneous 中的链接器标志设置为 -static。
我一直在寻找答案并尝试了一些不同的东西,但我真的被这个难住了。
您如何强制 Eclipse 中的编译器(在本例中为 MinGW)将库链接为静态库而不是像它显然正在做的动态库?