Qt程序出现(ig9icd64.dll) (XXXXX.exe 中)处有未经处理的异常: 0xC000041D: 用户回调期间遇到未经处理的异常。。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangfahe1/article/details/84034636

我也是被自己逼疯了,中午还在一边运行程序,一边写博客。休息了一会,再运行程序,发现好好地程序居然跑不起来(估计也是去休息了),居然出现这个bug。

于是下午进行了各种调试,注释代码,最终确定了问题在QOpenGLWidget里面。但是这个我也动不了,于是再次找原因,找啊找,找了一下午,突然灵光一闪想起来以前写的代码,貌似在使用QOpenGL之前貌似还要写一段代码。于是又去找以前写的代码,终于功夫不负有心人,找到了。原来是在使用QOpenGL没有初始化。(左边是没有初始化QOpenGL,右边为正确代码

    

添加下面这段代码之后,程序终于正常启动了。

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

猜你喜欢

转载自blog.csdn.net/yangfahe1/article/details/84034636