Linux下實現(xiàn)Qt 4.7.0移植 Ubuntu10.10篇
Linux下實現(xiàn)Qt 4.7.0移植 (Ubuntu10.10篇)是本文介紹的內(nèi)容,不多說,我們直接看詳細(xì)步驟,來得明快。
準(zhǔn)備:
1.Qt源碼包 qt-everywhere-opensource-src-4.7.0-beta2.tar.gz
2.交叉編譯器 天嵌的EABI-4.3.3_EmbedSky_20100610.tar.bz2(選用4.3.3)
3.觸摸屏校驗工具:tslib-1.4.tar.gz
4.開發(fā)板4.3寸的TQ2440(內(nèi)核天嵌自帶的root_qtopia_2.2.0_2.6.30.4_20100601.tar.bz2)
編譯安裝:
1.首先安裝交叉編譯器EABI-4.3.3_EmbedSky_20100610.tar.bz2(這個很容易,不多說了)
2.接著安裝tslib-1.4.tar.gz,這個也比較容易(參考上篇的,注意的是ubuntu可能要先安裝安裝g++:sudo apt-get g++)
3.接著再編譯安裝arm版Qt,首先配置如下:
- ./configure -prefix /opt/EmbedSky/qt-4.7-arm -embedded arm -release -opensource -fast -no-accessibility -no-scripttools -no-mmx
- -no-multimedia -no-svg -no-3dnow -no-sse -no-sse2 -silent -qt-libpng -qt-libjpeg -no-libmng -no-libtiff -no-multimedia
- -make libs -nomake tools -nomake examples -nomake docs -nomake demo -no-nis -no-cups -no-iconv -no-dbus -no-openssl -xplatform
- qws/linux-arm-g++ -little-endian -qt-freetype -depths 16,18 -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen
- -no-gfx-vnc -no-gfx-qvfb -qt-kbd-linuxinput -no-glib -qt-mouse-tslib -I/usr/local/tslib/include -L/usr/local/tslib/lib -confirm-license "$@"
然后編譯make,最后安裝make install
Qt移植:
1.首先把/opt/EmbedSky/qt-4.7-arm下的庫lib,全部拷到開發(fā)板新建目錄/usr/local/Trolltech/QtEmbedded-4.7.0-arm/lib下
2.接著把安裝完后tslib目錄下的東西全部拷到開發(fā)板的/usr/local/tslib下
3.配置環(huán)境:vi /etc/profile,添加如下:
- export QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm
- export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm
- export TSLIB_ROOT=/usr/local/tslib
- export PATH=$QTDIR/bin:$PATH
- export TSLIB_CONSOLEDEVICE=none
- export TSLIB_FBDEVICE=/dev/fb0
- export TSLIB_TSDEVICE=/dev/event0
- export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
- export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
- export TSLIB_CALIBFILE=/etc/pointercal
- export QWS_MOUSE_PROTO=Tslib:/dev/event0
- export QWS_DISPLAY=LinuxFb:/dev/fb0
- export QWS_SIZE=480x272
- export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
- export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
保存,立即生效:source /etc/profile
4.拷貝程序到開發(fā)板你想要的位置,運(yùn)行測試程序:./test_hello -qws
如果要關(guān)閉Qtopia,可以修改/etc/init.d/rcS
注釋掉其中一行如下:
- #qtopia &
如果要開機(jī)就運(yùn)行自己的程序可在/etc/init.d/rcS添加如下內(nèi)容:
- export set HOME=/root
- export TSLIB_ROOT=/usr/local/tslib
- export TSLIB_CONSOLEDEVICE=none
- export TSLIB_TSDEVICE=/dev/event0
- export TSLIB_FBDEVICE=/dev/fb0
- export TSLIB_CALIBFILE=/etc/pointercal
- export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
- export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
- export TSLIB_CALIBFILE=/etc/pointercal
- export QWS_MOUSE_PROTO=Tslib:/dev/event0
- export QWS_DISPLAY=LinuxFb:/dev/fb0
- export QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm
- export QPEDIR=/usr/local/Trolltech/QtEmbedded-4.7.0-arm
- export PATH=$QTDIR/bin:$PATH
- export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
- test_hello -qws &
注意上面test_hello要放到/sbin/下
提供一個好的方法:用nfs掛載根文件系統(tǒng),這樣根文件系統(tǒng)在自己的pc上,想拷貝文件也容易多了,主要是錯了,不想用了,不用燒寫它,直接再解壓一份出來就行了。
注意:nfs掛載時出現(xiàn)問題時,先看參數(shù)設(shè)置是否正確,不行的話接著要把/etc/init.d/rcS里的一行東西注釋掉:#net_set &
提供一個字體庫: http://bbs.embedsky.net/viewthread.php?tid=7123&extra=
小結(jié):關(guān)于Linux下實現(xiàn)Qt 4.7.0移植 (Ubuntu10.10篇)的內(nèi)容介紹完了,希望本文對你有所幫助。更多關(guān)于移植的內(nèi)容請參考編輯推薦。