You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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之前):
    QCoreApplication::setAttribute(Qt::AA_UseDesktopOpenGL);
    
    这样程序启动时就会优先使用桌面OpenGL,而不是ANGLE。

方案3:自行编译Qt源码(终极方案)

如果上面的方法都不适用(比如安装器里没有你需要的OpenGL组件),可以自己编译Qt源码:

  1. 下载对应版本的Qt源码包
  2. 打开终端(Windows下用Developer Command Prompt),进入源码目录
  3. 执行配置命令,指定使用桌面OpenGL:
    # 以Qt 6为例,用CMake的话
    cmake -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DQT_FEATURE_opengl=desktop ..
    # 或者用qmake的话(Qt 5更常用)
    ./configure -opengl desktop -release
    
  4. 执行编译命令:ninja(CMake)或者nmake/make(qmake)
  5. 编译完成后,在Qt Creator中添加这个自定义编译的Qt版本即可

注意事项

  • Windows平台下,确保你的显卡驱动是最新的,并且支持OpenGL 3.0+(大部分现代显卡都支持)
  • Linux/macOS平台下,默认的系统OpenGL驱动一般都能正常工作,不用额外配置

内容的提问来源于stack exchange,提问作者CDZ

火山引擎 最新活动