【问题标题】:OpenCV3.0 With Qt creator 3.2 & Qt 5.4 build error "mingw32-make: *** [Makefile] Error 3"OpenCV3.0 与 Qt creator 3.2 & Qt 5.4 构建错误“mingw32-make: *** [Makefile] Error 3”
【发布时间】:2015-04-26 16:58:22
【问题描述】:

我在 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:额外 测试表达式后的字符。处理项目文件时出错: ..\opencv_xpto\opencv_xpto.pro makefile:175: 目标配方 'Makefile' 失败 mingw32-make: *** [Makefile] 错误 3 20:53:17: 过程 “C:\Qt\qt-5.4.0-x64-mingw492r0-sjlj\mingw64\bin\mingw32-make.exe” 以代码 2 退出。构建/部署项目 opencv_xpto 时出错 (套件:Qt 5.4)执行步骤“Make”时 20:53:17:经过的时间: 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()'

谁能告诉我我哪里出错了?

【问题讨论】:

  • 在 Qt 项目文件中不要使用反斜杠!使用斜杠作为目录分隔符(它不计量这是 Windows)。
  • 感谢您的反馈。
  • 您好,感谢您的反馈。我已经进行了您建议的更改。即便如此,它消除了最初的错误,这次它产生了一个不同的错误:C:\Users\Nelson Faria\Documents\Programacao\opencvTest02\main.cpp:-1: error: undefined reference to `cv::imread(cv: :String const&, int)' collect2.exe:-1: error: error: ld returned 1 exit status 知道可能是什么吗?
  • 尝试省略库的扩展。

标签: c++ qt opencv makefile


【解决方案1】:

像这样正确的专业文件:

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 复制到包含您的可执行文件的目录中(很可能或多或少类似:&lt;your roject location&gt;\..\debug-windows-64x-qt5-XXX
  • 添加到这些 dll 的路径变量位置

【讨论】:

  • 感谢改进并解决了之前的错误。但是我又遇到了另一个新错误 :( 退出代码 -1073741515 有什么想法现在有什么问题吗??? :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-19
相关资源
最近更新 更多