經過差不多兩個星期的奮斗,終於在板子里面跑起來了qt 程序,雖然現在還沒有把觸摸屏驅動加上去,但是我相信已經不遠了!!!!!
在前兩篇的隨筆里面 , 已經編譯好了最純凈的文件系統以及交叉編譯完成了qt-5.6.0 的源碼庫。
交叉編譯qt-5.6.0 地址是http://www.cnblogs.com/chenfulin5/p/5798764.html
建立最純凈的文件系統的地址是:http://www.cnblogs.com/chenfulin5/p/5796415.html
tslib庫的地址:http://www.cnblogs.com/chenfulin5/p/5801604.html
第一步:qt源碼編譯完成后 , 我的make install 后的所在目錄是/home/desk/7109/qtsrc
進去里面,把examples lib plugins include cp 到最純凈的文件系統下的/opt/qte/目錄下。
沒有的自己創建。
第二步:進入自己的編譯的tslib 庫下 , 將bin etc include lib 全部cp 到自己的最純凈的文件系統下的/usr/tslib/下。
沒有這個文件夾的也要自己創建。
第三步:到自己交叉編譯器的sysroot 目錄里面。我這個是ti 提供的交叉編譯器,這整個一套是有很多相關的庫的。
把lib include 里面的相關的東西全部cp 到最純凈的文件系統根目錄下的相對應的位置。
在進入交叉編譯器的usr/lib 目錄。這里面有一個非常非常大的庫, 我覺得如果我沒有這個文件夾里面的東西的話我可能也不能這么快就做好了這項移植工作。
這里的話 , 我們要找到ctr.* glib-2.0 libc* libd* libEGL* libex* libfon* libfree* libg* libthread* libIMG* libm* libn* libpthread*
libpvr* librt* libvt* libsrv* libstdc++* libudev* libusb* libusc* libutil* libuuid* libX11* libxau* libxcb* libX* libz.*
把這些文件打包成tar 包直接考到 最純凈的文件系統下的usr/lib 目錄下 , 把include 里面的所有頭文件也考到/usr/include下
第四步:建立qt環境
在搭好的文件系統里面:在/etc/profile加上這么一段話:
1 # qt configure 2 3 export TSLIB_CONSOLEDEVICE=none 4 export TSLIB_FBDEVICE=/dev/fb0 5 export TSLIB_TSDEVICE=/dev/input/event1 6 export TSLIB_CONFFILE=/usr/tslib/etc/ts.conf 7 export TSLIB_PLUGINDIR=/usr/tslib/lib/ts 8 #export TSLIB_CALIBFILE/etc/pointercal 9 10 export LD_LIBRARY_PATH=/lib:/usr/lib:/usr/tslib/lib:/opt/qte/lib 11 export PATH=$PATH:/usr/bin:/usr/tslib/bin:/usr/sbin:/bin 12 13 export QTDIR=/opt/qte 14 export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins 15 export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0 16 export QT_QPA_FONTDIR=$QTDIR/lib/fonts 17 export QT_QPA_GENERIC_PLUGINS=tslib:$TSLIB_TSDEVICE 18 19 export QT_DEBUG_PLUGINS=1
這是一段qt 以及 tslib 的配置。
最后一段話是關qt_debug信息調試信息的顯示。
如果你某個程序運行不起來,可以開啟他然后進行調試。
把文件系統做成你自己的格式。在minicom 中進入以后,root登錄,沒有密碼。
在終端下敲命令:
/opt/qte/examples/touch/pinchzoom/pinchzoom
我們就可以看到我們可愛的小老鼠了。。。。。。。如果出現了什么問題,開啟那個調試信息,看缺少什么庫,缺少什么庫你就去找什么庫。
移植。恩,應該是這樣。