今天在項目上將以前rootfs上關於qt的目錄由原來的usr/lib/qt5/變爲/usr/local/qt5.2.1和/usr/local/qt5.6.2,因爲webApp和HMI的進程用的不一樣的Qt版本(HMI使用的是Qt5.6.2),因此項目上將兩套Qt的路徑分開了。在啓動HMI進程發現qtapp(HMI進行)成功啓動,可是出現以下錯誤:web
qrc:/root.qml:11:1: module "QtQuick" is not installed
後來懷疑是環境變量配置上出了問題,可是看下面的好像也沒有問題啊 app
QTDIR=/usr/local/qt5.6.2 export PATH=/usr/local/sbin:$PATH export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/opt/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$QTDIR:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/app/NativeApps/sys/lib:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/lib/gstreamer-1.0/:$LD_LIBRARY_PATH export QT_QPA_PLATFORM=eglfs export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins export QT_QPA_FONTDIR=/usr/lib/fonts export QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/event0
HMI該導入的環境變量到導入了,plugins也導入了,因而用strace跟蹤了下,打開的也都是/usr/local/qt5.6.2 路勁下面的東西,那問題出在哪裏,最後查了下,加上:ui
export QML2_IMPORT_PATH=$QTDIR/qml
居然ok了,緣由請教了下BSP的工程師(由於rootfs使他們配置的),他們說是由於QtQuick以前有默認的usr/lib/qt5/qml/下面去找QtQuick相關的路徑,如今目錄變爲/usr/local/qt5.6.2,必須顯示的設置下才能夠,否則找不到QtQuick,因此出現spa
qrc:/root.qml:11:1: module "QtQuick" is not installed
這個解釋正確不正確還有待肯定,暫時認爲是正確的吧。blog