这个好难!请不要把它误认为是一个新手问题;)对于简单的错误,我在这个 OpenCV + MinGW 静态内容中的里程太多了......
环境:一。使用 MinGW 构建的 Qt 5.0.1(从 qt-project 下载的标准开源代码) - 所以一切都使用相同的 MinGW 环境构建。湾。使用 CMake 我设置了最小构建(使用与 Qt 相同的 g++/gcc)并关闭了 SHARED_LIBRARIES。C。生成 cmake + mingw32-make + mingw32-make 安装工作正常。
直到这里一切看起来都很顺利......
现在当我添加:
win32-g++:INCLUDEPATH += D:/Dev/opencv/build/install/include
win32-g++:LIBS += -LD:/Dev/opencv/build/install/lib
win32-g++:LIBS += -static
win32-g++:LIBS += -llibopencv_core243d
win32-g++:LIBS += -llibopencv_imgproc243d
win32-g++:LIBS += -llibopencv_highgui243d
(也没有“win32-g++”添加..)
我明白了d:/dev/qt/qt5.0.1/tools/mingw/bin/../lib/gcc/i686-w64-mingw32/4.7.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -llibopencv_highgui243d
...
...
现在.. 我在正确的目录中有 libopencv_highgui243d.a,但是 ld.exe 链接器忽略了 lib 之外的任何东西!这应该是一个 MS 库(我想首先避免!!!) - 我什至尝试将 .a 文件重命名为 .lib 导致链接器考虑文件,但显示许多“未引用”错误...
那么该怪谁呢?链接器?制作?鸣?吗?……
我尝试了许多命令行/标志选项但没有成功..