OpenCV3.0 使用 Qt creator 3.2 & Qt 5.4 构建错误 "mingw32-make: *** [Makefile] Error 3"
OpenCV3.0 With Qt creator 3.2 & Qt 5.4 build error "mingw32-make: *** [Makefile] Error 3"
我在 Windows 7 机器上用 Qt5.4 和 Qt Creator 3.2 64 位编译了 OpenCV 3.0。
我一直在尝试在加载图片时执行最基本的 OpenCV 功能。不幸的是,它给出了以下错误:
C:\Qt\qt-5.4.0-x64-mingw492r0-sjlj\qt-5.4.0-x64-mingw492r0-sjlj\bin\qmake.exe
-spec win32-g++ CONFIG+=release -o Makefile ..\opencv_xpto\opencv_xpto.pro C:/Users/Nelson
Faria/Documents/Programacao/opencv_xpto/opencv_xpto.pro:14: Extra
characters after test expression. Error processing project file:
..\opencv_xpto\opencv_xpto.pro makefile:175: recipe for target
'Makefile' failed mingw32-make: *** [Makefile] Error 3 20:53:17: The
process
"C:\Qt\qt-5.4.0-x64-mingw492r0-sjlj\mingw64\bin\mingw32-make.exe"
exited with code 2. Error while building/deploying project opencv_xpto
(kit: Qt 5.4) When executing step "Make" 20:53:17: Elapsed time:
00:01.
我要执行的代码如下:
'#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv/cv.h"
using namespace std;
int main()
{
cout << "Hello World!" << endl;
cv::Mat mat;
mat = cv::imread("img.JPG");
cv::namedWindow("hello");
cv::imshow("hello",mat);
cv::waitKey(0);
return 0;
}
最后是 .pro
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
INCLUDEPATH += C:\opencv-mingw\install\include
LIBS += -LC:\opencv-mingw\install\x64\mingw\lib
-lopencv_core300.dll \
-lopencv_highgui300.dll \
-lopencv_imgproc300.dll \
-lopencv_features2d300.dll \
-lopencv_calib3d300.dll
include(deployment.pri)
qtcAddDeployment()'
谁能告诉我我哪里做错了?
像这样更正 pro 文件:
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
INCLUDEPATH += C:/opencv-mingw/install/include
LIBS += -LC:/opencv-mingw/install/x64/mingw/lib
-lopencv_core300 \
-lopencv_highgui300 \
-lopencv_imgproc300 \
-lopencv_features2d300 \
-lopencv_calib3d300
include(deployment.pri)
qtcAddDeployment()
如果发生崩溃,很可能是应用程序无法加载 openCV dll。有两种方法可以解决此问题:
- 将这些 dll 复制到包含您的可执行文件的目录(最有可能或多或少是这样的:
<your roject location>\..\debug-windows-64x-qt5-XXX
- 添加到那些dll的路径变量位置
我在 Windows 7 机器上用 Qt5.4 和 Qt Creator 3.2 64 位编译了 OpenCV 3.0。
我一直在尝试在加载图片时执行最基本的 OpenCV 功能。不幸的是,它给出了以下错误:
C:\Qt\qt-5.4.0-x64-mingw492r0-sjlj\qt-5.4.0-x64-mingw492r0-sjlj\bin\qmake.exe -spec win32-g++ CONFIG+=release -o Makefile ..\opencv_xpto\opencv_xpto.pro C:/Users/Nelson Faria/Documents/Programacao/opencv_xpto/opencv_xpto.pro:14: Extra characters after test expression. Error processing project file: ..\opencv_xpto\opencv_xpto.pro makefile:175: recipe for target 'Makefile' failed mingw32-make: *** [Makefile] Error 3 20:53:17: The process "C:\Qt\qt-5.4.0-x64-mingw492r0-sjlj\mingw64\bin\mingw32-make.exe" exited with code 2. Error while building/deploying project opencv_xpto (kit: Qt 5.4) When executing step "Make" 20:53:17: Elapsed time: 00:01.
我要执行的代码如下:
'#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv/cv.h"
using namespace std;
int main()
{
cout << "Hello World!" << endl;
cv::Mat mat;
mat = cv::imread("img.JPG");
cv::namedWindow("hello");
cv::imshow("hello",mat);
cv::waitKey(0);
return 0;
}
最后是 .pro
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
INCLUDEPATH += C:\opencv-mingw\install\include
LIBS += -LC:\opencv-mingw\install\x64\mingw\lib
-lopencv_core300.dll \
-lopencv_highgui300.dll \
-lopencv_imgproc300.dll \
-lopencv_features2d300.dll \
-lopencv_calib3d300.dll
include(deployment.pri)
qtcAddDeployment()'
谁能告诉我我哪里做错了?
像这样更正 pro 文件:
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
INCLUDEPATH += C:/opencv-mingw/install/include
LIBS += -LC:/opencv-mingw/install/x64/mingw/lib
-lopencv_core300 \
-lopencv_highgui300 \
-lopencv_imgproc300 \
-lopencv_features2d300 \
-lopencv_calib3d300
include(deployment.pri)
qtcAddDeployment()
如果发生崩溃,很可能是应用程序无法加载 openCV dll。有两种方法可以解决此问题:
- 将这些 dll 复制到包含您的可执行文件的目录(最有可能或多或少是这样的:
<your roject location>\..\debug-windows-64x-qt5-XXX
- 添加到那些dll的路径变量位置