經過差不多兩個星期的奮鬥,終於在板子裡面跑起來了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
我們就可以看到我們可愛的小老鼠了。。。。。。。如果出現了什麼問題,開啟那個除錯資訊,看缺少什麼庫,缺少什麼庫你就去找什麼庫。
移植。恩,應該是這樣。