[英]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
看來,你的項目運行環境變量有問題,你有兩個選擇:
轉到 xterm,運行 env 命令,復制環境變量,現在轉到 qt creator,打開運行窗格,在運行環境中選擇干凈的環境並進行批量編輯(通過批量編輯按鈕)並將復制的環境變量粘貼到那里,它應該可以解決您的問題
轉到 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.