1

这个好难!请不要把它误认为是一个新手问题;)对于简单的错误,我在这个 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 导致链接器考虑文件,但显示许多“未引用”错误...

那么该怪谁呢?链接器?制作?鸣?吗?……

我尝试了许多命令行/标志选项但没有成功..

4

1 回答 1

2

您应该将这些库称为:

LIBS += -lopencv_core243d
LIBS += -lopencv_imgproc243d
LIBS += -lopencv_highgui243d

由于已经在名称的开头-l插入了lib 。

于 2013-02-17T23:00:45.817 回答