簡體   English   中英

qml 在控制台上工作,但在 qt creator 下不起作用

[英]qml works from console, but doesn't work under qt creator

我用

Qt Creator 4.4.0-beta1 (4.3.82)

基於 Qt 5.7.1(GCC 5.3.0,64 位)

我基於提供qt creator模板創建了項目: Qt Quick Controls 2 並且不要對其進行任何修改。

如果我按下qt creator run按鈕,我會收到這樣的消息(在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:按鈕按下。 輸入的文字:

那么任何提示從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,打開運行窗格,在運行環境中選擇干凈的環境並進行批量編輯(通過批量編輯按鈕)並將復制的環境變量粘貼到那里,它應該可以解決您的問題

  2. 轉到 Qt Creator -> Run Pane -> Run Environment 並選擇系統環境作為默認運行環境配置

剛剛讓這個為自己工作。 嘗試將以下行添加到您的 .bashrc 文件中:

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

刷新終端並運行您的程序。

就我而言,我必須在“項目”>“運行環境”中取消設置LD_LIBRARY_PATH 對於套件和系統環境,它被設置為為系統包配置的某個值,因此它們將僅依賴於 Mesa 而不是 NVidia GLX 庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM