在 Windows 上设置 Qt Creator 3.3.2 和 openCV 2.4.11

Setting up Qt Creator 3.3.2 and openCV 2.4.11 on Windows

我在 Windows 机器上使用 Qt Creator 和图像处理库 openCV 编译和构建程序时遇到配置问题。 OpenCV 前段时间使用 Visual Studio,但现在我想使用 Qt Creator 构建程序。我正在使用 opencv-2.4.11 和 Qt Creator 3.3.2 我启动了一个新程序并尝试编译以下代码:

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv/cv.h>

using namespace std;
using namespace cv;

int main()
{
    cout << "Hello World!" << endl;
    Mat Bild;
    return 0;
}

此构建过程以错误结束:
C:...\build-Test01-Desktop_Qt_5_4_1_MinGW_32bit-Debug\debug\main.o:-1: 在函数 ZN2cv3MatD1Ev': C:\opencv\build\include\opencv2\core\mat.hpp:278: Fehler: undefined reference tocv::fastFree(void*)' C:...\build-Test01-Desktop_Qt_5_4_1_MinGW_32bit-Debug\debug\main.o:-1: 在函数 ZN2cv3Mat7releaseEv': C:\opencv\build\include\opencv2\core\mat.hpp:367: Fehler: undefined reference tocv::Mat::deallocate()' collect2.exe:-1: Fehler: 错误: ld 返回 1 退出状态

我的 .pro 文件包含“INCLUDEPATH”和“LIBS”:

INCLUDEPATH +=  C:\opencv\build\include\ \
                C:\opencv\sources\include\

LIBS += -L C:\opencv\build\x86\vc12\lib\
-lopencv_core2411\
-lopencv_calib3d2411\
-lopencv_highgui2411\
-lopencv_imgproc2411\

SOURCES += main.cpp

我做错了什么——为什么我总是得到一个错误:(?
我还尝试了其他不同的方法来定义包含文件夹和库,但我无法编译测试代码。

此致
matl

您正在使用 MinGW 编译器并且 OpenCV 提取不包含由它构建的库。因此,您必须使用 Qt 提供的 MinGW 手动构建它们。使用以下 post 寻求帮助:

How to link opencv in QtCreator and use Qt library

确保正确设置了 Qt、MinGW 和 OpenCV 库的所有环境变量。完成所有这些后,您应该准备就绪。

希望对您有所帮助。