1. 程式人生 > >Qt程式出現(ig9icd64.dll) (XXXXX.exe 中)處有未經處理的異常: 0xC000041D: 使用者回撥期間遇到未經處理的異常。。

Qt程式出現(ig9icd64.dll) (XXXXX.exe 中)處有未經處理的異常: 0xC000041D: 使用者回撥期間遇到未經處理的異常。。

我也是被自己逼瘋了,中午還在一邊執行程式,一邊寫部落格。休息了一會,再執行程式,發現好好地程式居然跑不起來(估計也是去休息了),居然出現這個bug。

於是下午進行了各種除錯,註釋程式碼,最終確定了問題在QOpenGLWidget裡面。但是這個我也動不了,於是再次找原因,找啊找,找了一下午,突然靈光一閃想起來以前寫的程式碼,貌似在使用QOpenGL之前貌似還要寫一段程式碼。於是又去找以前寫的程式碼,終於功夫不負有心人,找到了。原來是在使用QOpenGL沒有初始化。(左邊是沒有初始化QOpenGL,右邊為正確程式碼

 

    

 

新增下面這段程式碼之後,程式終於正常啟動了。

    QSurfaceFormat format;
    format.setDepthBufferSize(24);
    format.setStencilBufferSize(8);
    format.setVersion(3, 2);
    format.setProfile(QSurfaceFormat::CoreProfile);
    QSurfaceFormat::setDefaultFormat(format);