最近用freescale的imx6做嵌入式開發,一路走來的坑,讓我深深敬畏linux的博大精深,爲了防止遺忘,以及防止別人重蹈覆轍,給自己做個記錄。
1、qt-creator不能運行、調試的解決
a、
target.path=/home/root/testwu
INSTALLS += target
b、不能deploy,原因是dropbear沒有sftp-server,自己先交叉編譯了dropbear(編譯命令:./configure --host=arm-linux --prefix=/home/wuzq/laji && make && make install),也看了源碼,以爲最新的版本內置sftp-server,看了不行,於是編譯openssh(下載portable版本的)(編譯命令./configure --host=arm-linux --prefix=/home/wuzq/lajissh,連接不過,直接改Makefile文件裏兩行爲CC=arm-poky-linux-gnueabi-gcc
-march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.6.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
LD=arm-poky-linux-gnueabi-gcc --sysroot=/opt/poky/1.6.2/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi),用默認的LD就不行,把生成的sftp-server放在/usr/share/openssh/下面,就可以成功deploy
c、不能debug,因爲這個問題我下載了qt-creator自己編譯,也因爲GL庫和gl.h頭文件,折騰了半天,ligGL.so解決方法:
ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /home/wuzq/Qt5.6.1/5.6/gcc_64/lib/libGL.so
gl.h頭文件找不到解決辦法是:
find / -name gl.h |xargs ls -l,搜索到我的sdk中的相應目錄,拷貝到qt的安裝目錄下的include中(例如qt5.6.1/5.6/gcc_64/include)
d、用qt-creator調試qt-creator,跟蹤發現qt-creator目錄下share/qtcreator/debugger沒有json模塊(python),於是把windows上的json目錄拷過來,也巧能跟蹤了,後來繼續查資料發現qt-creator如果不能建立調試,可以查看log ,在qt-creator菜單Window->Views->Debugger Log,可以看到出錯的地方,可以很快知道缺少json模塊。
e、如果不用sftp-server也可以運行和調試,需要手工拷貝到運行目錄,或者加一個scp ..../執行文件 [email protected]:/..... 作爲一個custom step到run步驟中。
2、觸摸屏驅動調試
3、顯示驅動調試
4、QT5的顯示中文,原來只需要設置
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/qt5/plugins/generic
export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0
export QT_QPA_FONTDIR=/usr/lib/fonts/otf
export DISPLAY=:0