Qt安装求助:如何获取纯OpenGL版本(无需ANGLE)
解决Qt切换到纯OpenGL版本的方法
嘿,这个问题我之前帮不少开发者处理过,其实Qt的安装和配置里藏着切换到纯OpenGL的路径,不用太纠结,给你几个可行的方案:
方案1:重新安装时选择OpenGL组件
Qt安装器里其实是有纯OpenGL的组件选项的,只是默认可能没选。你可以重新打开Qt Installer,在「组件选择」步骤里:
- 展开你需要的Qt版本(比如Qt 6.5.x)
- 找到对应编译器的选项,比如Windows平台下的「MSVC 2022 64-bit (OpenGL)」或者「MinGW 11.2.0 64-bit (OpenGL)」,选择这个带「OpenGL」后缀的组件,而不是默认的不带后缀(默认是ANGLE)的选项
- 完成安装后,这个版本的Qt就会默认使用桌面OpenGL了
方案2:给已安装的Qt配置OpenGL模式
如果不想重新安装,也可以通过配置强制Qt使用纯OpenGL:
- 在Qt Creator项目中设置:打开你的项目,进入「运行设置」,在「环境变量」里添加一条:
QT_OPENGL=desktop - 修改项目配置文件:在你的
.pro文件中添加一行:CONFIG += opengl desktop - 代码层面强制启用:在
main()函数的最开头,添加这行代码(要在创建QApplication之前):
这样程序启动时就会优先使用桌面OpenGL,而不是ANGLE。QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL);
方案3:自行编译Qt源码(终极方案)
如果上面的方法都不适用(比如安装器里没有你需要的OpenGL组件),可以自己编译Qt源码:
- 下载对应版本的Qt源码包
- 打开终端(Windows下用Developer Command Prompt),进入源码目录
- 执行配置命令,指定使用桌面OpenGL:
# 以Qt 6为例,用CMake的话 cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DQT_FEATURE_opengl=desktop .. # 或者用qmake的话(Qt 5更常用) ./configure -opengl desktop -release - 执行编译命令:
ninja(CMake)或者nmake/make(qmake) - 编译完成后,在Qt Creator中添加这个自定义编译的Qt版本即可
注意事项
- Windows平台下,确保你的显卡驱动是最新的,并且支持OpenGL 3.0+(大部分现代显卡都支持)
- Linux/macOS平台下,默认的系统OpenGL驱动一般都能正常工作,不用额外配置
内容的提问来源于stack exchange,提问作者CDZ




