qml在控制台上运行,但是在qt creator下运行

时间:2017-05-17 09:35:46

标签: linux qt opengl qml nvidia

我用

  

Qt Creator 4.4.0-beta1(4.3.82)

     

基于Qt 5.7.1(GCC 5.3.0,64位)

我根据提供qt creatorQt Quick Controls 2的模板创建了项目。并且不要对其进行任何修改。

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

  

开始...... / build-test1-qt5-Debug / test1 ...

     

启用QML调试。只能在安全的环境中使用它。

     

libGL错误:找不到匹配的fbConfigs或视觉效果

     

libGL错误:无法加载驱动程序:swrast

     

无法识别的OpenGL版本

     

无法识别的OpenGL版本

首先,我考虑过linux kernel / nvidia driver / xorg和Qt合作中的问题,但我可以毫无问题地运行./build-test1-qt5-Debug/test1 来自xterm

  

./ build-test1-qt5-Debug / test1

     

启用QML调试。只能在安全的环境中使用它。

     

qml:按下按钮。输入文字:

那么任何暗示从qml运行qt creator或直接没有qt creator之间的差异是什么?

我在qt creatorLIBGL_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

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

让我自己工作。尝试将以下行添加到.bashrc文件中:

export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
export DISPLAY=:1

刷新终端并运行程序。

答案 2 :(得分:0)

就我而言,我必须在“项目”>“运行环境”中取消设置LD_LIBRARY_PATH。对于工具包和系统环境,都将其设置为一些为系统软件包配置的值,因此它们将仅取决于Mesa,而不取决于NVidia GLX库。