linux - qml 从控制台工作,但在 qt creator 下不工作

标签 linux qt opengl qml nvidia

我用

Qt Creator 4.4.0-beta1 (4.3.82)

Based on Qt 5.7.1 (GCC 5.3.0, 64 bit)

我基于提供qt creator的模板创建了项目:Qt Quick Controls 2。并且不要对其进行任何修改。

如果我在 qt creator 中按下 run 按钮,我会收到这样的消息(在 qt creator 的控制台内):

Starting .../build-test1-qt5-Debug/test1...

QML debugging is enabled. Only use this in a safe environment.

libGL error: No matching fbConfigs or visuals found

libGL error: failed to load driver: swrast

Unrecognized OpenGL version

Unrecognized OpenGL version

一开始我想到的是linux kernel/nvidia driver/xorg和Qt配合的问题,但是可以运行./build-test1-qt5-Debug/test1没有任何问题 来自 xterm:

./build-test1-qt5-Debug/test1

QML debugging is enabled. Only use this in a safe environment.

qml: Button Pressed. Entered text:

所以有什么提示从 qt creator 运行 qml 和不使用 qt creator 直接运行有什么区别?

程序输出,我在 qt creator 中使用 LIBGL_DEBUG=verbose 运行:

QML debugging is enabled. Only use this in a safe environment.
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
libGL: Can't open configuration file /home/evgeniy/.drirc: No such file or directory.
libGL: Can't open configuration file /home/evgeniy/.drirc: No such file or directory.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
function is no-op
Unrecognized OpenGL version
Unrecognized OpenGL version

最佳答案

看来,你的项目运行环境变量有问题,你有两个选择:

  1. 转到 xterm,运行 env 命令,复制环境变量,现在转到 qt creator,打开运行 Pane ,在运行环境中选择清洁环境并进行批量编辑(通过批量编辑按钮)并将复制的环境变量粘贴到那里,它应该可以解决您的问题

  2. 转到Qt Creator -> Run Pane -> Run Environment 并选择系统环境作为默认运行环境配置

关于linux - qml 从控制台工作,但在 qt creator 下不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44021011/

相关文章:

qt - 如何将 Clojure REPL 与 Qt Jambi 一起使用?

c++ - 在 OpenGL 上用 Bresenham 算法画圆

c# - 自 nvidia 375.63 驱动程序更新以来,使用 OpenTK 创建图形上下文会返回 1.1 OpenGL 上下文

python - 屏幕未为 python 项目运行 @reboot

linux - 在 bash 脚本中接受多行输入

c - 在 linux 中 fork 和 exec 几个 child

c++ - 获取选定的菜单项

linux - 如何在 Qt5.5 中使用 gstreamer1.0 而不是 0.10?

c++ - 有没有办法列出 Linux 上 C++ 可执行文件中包含的所有头文件?

c++ - OpenGL 3 如何放大 GL_TEXTURE RECTANGLE?