Qt5.12.2配置OpenCV4.1.1中出现‘chmod‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

打开终端编译OpenCV时,再完成31%的时候出现报错。

出错结果类似以下情况(成功后忘记截图,在网上找了个相似的报错):

gcc: error: long: No such file or directory
D:\Qt5.12.2\Tools\mingw730_64\bin\windres.exe: preprocessing failed.
mingw32-make[2]: *** [modules\core\CMakeFiles\opencv_core.dir\build.make:1495: modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj] Error 1
mingw32-make[2]: *** Waiting for unfinished jobs....
mingw32-make[1]: *** [CMakeFiles\Makefile2:1889: modules/core/CMakeFiles/opencv_core.dir/all] Error 2
mingw32-make: *** [Makefile:182: all] Error 2
PS D:\opencv\opencv-build>

解决方法:在cmake编译阶段,勾上BUILD_opencv_world这一选项,然后重新 Configure-Generate-mingw32-make

Configure-Generate-mingw32-make

等待编译100%完成后,执行

mingw32-make install

然后为系统重新添加环境变量;

F:\opencv\opencvbuild\install\x64\mingw\bin

备注:自己去找编译后的OpenCV文件夹路径,这里是我的。

Qt新建项目:

在这里插入图片描述
配置.Pro文件:

win32 {
INCLUDEPATH += F:\opencv\opencvbuild\install\include
LIBS += F:\opencv\opencvbuild\install\x64\mingw\bin\libopencv_world411.dll
}

这里我在网上试了很多种版本,最后发现这种能够运行成功。

测试代码:

#include "mainwindow.h"
#include <opencv2/core/core.hpp>
#include <QApplication>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace std;
using namespace cv;


int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    Mat img = imread("D:/RGB.jpg");
    namedWindow("window");

    imshow("window", img);

    waitKey(0);


    return a.exec();
}

结果:

在这里插入图片描述

posted @ 2020-08-25 08:04  code_witness  阅读(893)  评论(0)    收藏  举报