在 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 to
cv::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 to
cv::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 库的所有环境变量。完成所有这些后,您应该准备就绪。
希望对您有所帮助。
我在 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 to
cv::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 to
cv::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 库的所有环境变量。完成所有这些后,您应该准备就绪。
希望对您有所帮助。