MinGW GCC 5.3.0 編譯OpenCV4.5.5 執行到imshow時崩潰

耿明岩發表於2024-07-06

Windows 下透過mingw32-make 編譯opencv4.5.5,經過一系列問題解決後發現其他正常,imshow崩潰.

GCC版本太低原因,換更高版本的GCC解決. 畢竟GCC 5.3.0是2015年發行的,opencv 4.5.5是2020年發行的

嘗試換GCC i686-8.1.0-release-posix-sjlj-rt_v6-rev0編譯,呼叫imshow時正常執行,並且中途不用改mutex.h檔案(5.3.0編譯時原始碼報錯,修改mutex.h檔案後解決 ),整個編譯過程非常順利。

GCC環境: GCC i686-5.3.0-release-posix-dwarf-rt_v4-rev0

OpenCV: 4.5.5

問題程式碼:

#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
using namespace cv;

int main() {
//    Mat mat;
    Mat mat = Mat::zeros(1024, 1024, CV_8UC3);

    imshow("", mat);
    waitKey(0);
//    std::cout << "Hello, World!" << std::endl;
    return 0;
}

GCC 5.3.0 當執行到imshow時崩潰, GCC 8.1.0 正常執行.

相關文章