原文鏈接:http://www.forlinx.com/zixun/167.htm
寫了一個QT小程序,但將程序拷貝到飛凌OKMX6Q-C板子上運行時出現如下錯誤:
/opt/qt4.8.5/apps/lincom: error while loading shared libraries: libts-1.0.so.0:
cannot open shared object file: No such file or directory
經過查詢資料,比對分析後發現,這是由於imx6開發板啓動的過程中沒有加載tslib和qt4.8.5的相應的環境變量,這些環境變量存在/etc/rc.d/qt_env.sh這個腳本文件中,目前有兩種方法可解決缺少庫文件問題。如有其它方法,也希望可以分享出來,一起探討。
1、要運行自己的程序,假設爲dog程序,應先執行source命令配置tslib和qt4.8.5的相應的環境變量才能運行成功,命令如下:
root@freescale /$ source etc/rc.d/qt_env.sh
calibrated
root@freescale /$ ./dog
這樣dog命令就可以正常運行了
2、將qt_env.sh文件中有關tslib和qt4.8.5的相應的環境變量配置在/etc/profile文件中,這樣啓機後直接運行程序就可以了,如下:
##tslib
export TSLIB_ROOT=/usr/local/tslib
export TSLIB_TSDEVICE=/dev/input/event2
export TSLIB_TSEVENTTYPE=input
export TSLIB_CONSOLEDEVICE=none
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export PATH=$TSLIB_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$LD_LIBRARY_PATH
##qt4.8.5
export QTDIR=/opt/qt4.8.5
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$QTDIR/plugins
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
#export QWS_MOUSE_PROTO=mouseman:/dev/input/mice
export QWS_MOUSE_PROTO="tslib:/dev/input/event2 mouseman:/dev/input/mice"
export QWS_DISPLAY="linuxfb:mmWidth50:mmHeight130:0"
將上面環境變量加到profile裏後,保存退出,再輸入sync命令系統保存然後就可以了。
基於OKMX6Q-C (www.forlinx.com/68.htm)開發板,其它平臺未經驗證,請參考使用。