qtopia-opensource-4.2.2在arm上的移植
生活随笔
收集整理的這篇文章主要介紹了
qtopia-opensource-4.2.2在arm上的移植
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Qtopia Core 4是QT/embedded的最新版,網(wǎng)上找很久都沒有相關(guān)教材,盡是QT/embedded 2的版本。我剛學(xué),干脆就直接上最新版 ^_^ 費(fèi)了不少時(shí)間,作個(gè)記錄,方便有需要的朋友...
? ?? ???我的目標(biāo)平臺(tái)是三星的s3c2410,linux2.4內(nèi)核,研發(fā)平臺(tái)是RHEL.AS.v4.0.Update2,直接從ftp: //ftp.scau.edu.cn/linux_unix/VMware_OS/RedHat_AS_4/Red Hat Enterprise Linux 4.vmdk下載的虛擬機(jī)映像。經(jīng)過這三天的使用,我認(rèn)為虛擬機(jī)構(gòu)建的系統(tǒng)有兩個(gè)特點(diǎn):一是慢,編譯整個(gè)Qtopia Core 4用了近五個(gè)小時(shí),而真機(jī)只需一個(gè)半鐘;二是使用方便,能夠直接在windows通過pietty連接,一邊查資料,一邊配置系統(tǒng),而且工作環(huán)境改變時(shí)只 需將映像直接移到另外一臺(tái)電腦,馬上能夠工作 ^_^
下面是Qtopia Core 4移植過程:
? ?? ???1.??下載交叉編譯鏈
[url]ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2[/url]
。不要用cross-2.95.3,Qtopia Core 4指明要3.2以上的版本。網(wǎng)上的教程大多就拿cross-2.95.3編譯QT/embedded 2的...解壓縮到/usr/local/arm目錄下
tar xjvf linux-gcc-3.4.1.tar.bz2 -C /
配置交叉編譯的環(huán)境變量:
echo 'export PATH=/usr/local/arm/3.4.1/bin:$PATH' >> /root/.bashrc
? ?? ???2.??下載Qtopia Core 4的源代碼,建議到
[url]www.qtopia.org.cn[/url]
下載,速度比
[url]www.trolltech.com[/url]
快,迅雷速度就不錯(cuò)。我下的是
qtopia-core-opensource-src-4.2.2.tar.gz
,解壓
tar zxvf qtopia-core-opensource-src-4.2.2.tar.gz
cd qtopia-core-opensource-src-4.2.2
./configure -embedded arm -xplatform qws/linux-arm-g++ -depths??4,8,12,16 -no-qt3support
gmake??(這個(gè)過程最漫長(zhǎng)...)
gmake install??(需root 權(quán)限)
配置Qt的環(huán)境變量:
echo 'export PATH=/usr/local/Trolltech/QtopiaCore-4.2.2-arm/bin:$PATH' >> /root/.bashrc
這樣更有一個(gè)字體目錄的問題,搞了很久才找到原因,后面講述。
? ?? ???3.??編譯Hello World,代碼參考Qt的文檔,保存未 hello.cc 。
qmake -project
qmake
make
將文檔移到目標(biāo)平臺(tái),我是通過nfs mount到/mnt/nfs目錄下
mount -t nfs -o nolock 202.192.33.100:/home/nfs /mnt/nfs
export QTDIR=/mnt/nfs
export LD_LIBRARY_PATH=$QTDIR/lib
$QTDIR/lib里面放程式要用到的庫和字體
lrwxrwxrwx??1 root root? ?? ?18 Jan 25 20:39 /home/nfs/new/lib/libQtCore.so.4 -> libQtCore.so.4.2.2
-rwxr-xr-x??1 root root 2082044 Jan 25 20:38 /home/nfs/new/lib/libQtCore.so.4.2.2
lrwxrwxrwx??1 root root? ?? ?17 Jan 24 21:44 /home/nfs/new/lib/libQtGui.so.4 -> libQtGui.so.4.2.2
-rwxr-xr-x??1 root root 7100212 Jan 24 21:42 /home/nfs/new/lib/libQtGui.so.4.2.2
lrwxrwxrwx??1 root root? ?? ?21 Jan 25 20:36 /home/nfs/new/lib/libQtNetwork.so.4 -> libQtNetwork.so.4.2.2
-rwxr-xr-x??1 root root??369700 Jan 25 20:35 /home/nfs/new/lib/libQtNetwork.so.4.2.2
? ?? ???能夠根據(jù)提示從/usr/local/Trolltech/QtopiaCore-4.2.2-arm/lib/復(fù)制過來,注意軟鏈接。如提示缺失libstdc++.so.6等庫文檔,可從/usr/local/arm/3.4.1/arm-linux/lib復(fù)制過來。
? ?? ???最后一個(gè)問題就是剛才提到的字體問題。網(wǎng)上的教程都是說將fontdir放到$QTDIR/lib/fonts目錄下即可。但我編譯的這個(gè)版本總不 行,提示 Cannot find font definition file /usr/local/Trolltech/QtopiaCore?
? ?? ???嘗試多次后才發(fā)現(xiàn)這個(gè)目錄就是QtopiaCore的安裝目錄。創(chuàng)建一個(gè)軟鏈接搞定
ln -s /mnt/nfs /usr/local/Trolltech/QtopiaCore-4.2.2-arm
? ?? ???文檔提示能夠用-prefix 指定安裝目錄,但這也不是辦法,configure --help里相關(guān)的更有-R和-rpath,能夠指定鏈接庫位置。只是虛擬機(jī)太慢,現(xiàn)在不敢隨便亂make了。
沒想到一個(gè) Hello World 用了3天......
轉(zhuǎn)自:[url]http://blog.chinaunix.net/u1/36490/showart_478131.html[/url]
? ?? ???我的目標(biāo)平臺(tái)是三星的s3c2410,linux2.4內(nèi)核,研發(fā)平臺(tái)是RHEL.AS.v4.0.Update2,直接從ftp: //ftp.scau.edu.cn/linux_unix/VMware_OS/RedHat_AS_4/Red Hat Enterprise Linux 4.vmdk下載的虛擬機(jī)映像。經(jīng)過這三天的使用,我認(rèn)為虛擬機(jī)構(gòu)建的系統(tǒng)有兩個(gè)特點(diǎn):一是慢,編譯整個(gè)Qtopia Core 4用了近五個(gè)小時(shí),而真機(jī)只需一個(gè)半鐘;二是使用方便,能夠直接在windows通過pietty連接,一邊查資料,一邊配置系統(tǒng),而且工作環(huán)境改變時(shí)只 需將映像直接移到另外一臺(tái)電腦,馬上能夠工作 ^_^
下面是Qtopia Core 4移植過程:
? ?? ???1.??下載交叉編譯鏈
[url]ftp://ftp.handhelds.org/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2[/url]
。不要用cross-2.95.3,Qtopia Core 4指明要3.2以上的版本。網(wǎng)上的教程大多就拿cross-2.95.3編譯QT/embedded 2的...解壓縮到/usr/local/arm目錄下
tar xjvf linux-gcc-3.4.1.tar.bz2 -C /
配置交叉編譯的環(huán)境變量:
echo 'export PATH=/usr/local/arm/3.4.1/bin:$PATH' >> /root/.bashrc
? ?? ???2.??下載Qtopia Core 4的源代碼,建議到
[url]www.qtopia.org.cn[/url]
下載,速度比
[url]www.trolltech.com[/url]
快,迅雷速度就不錯(cuò)。我下的是
qtopia-core-opensource-src-4.2.2.tar.gz
,解壓
tar zxvf qtopia-core-opensource-src-4.2.2.tar.gz
cd qtopia-core-opensource-src-4.2.2
./configure -embedded arm -xplatform qws/linux-arm-g++ -depths??4,8,12,16 -no-qt3support
gmake??(這個(gè)過程最漫長(zhǎng)...)
gmake install??(需root 權(quán)限)
配置Qt的環(huán)境變量:
echo 'export PATH=/usr/local/Trolltech/QtopiaCore-4.2.2-arm/bin:$PATH' >> /root/.bashrc
這樣更有一個(gè)字體目錄的問題,搞了很久才找到原因,后面講述。
? ?? ???3.??編譯Hello World,代碼參考Qt的文檔,保存未 hello.cc 。
qmake -project
qmake
make
將文檔移到目標(biāo)平臺(tái),我是通過nfs mount到/mnt/nfs目錄下
mount -t nfs -o nolock 202.192.33.100:/home/nfs /mnt/nfs
export QTDIR=/mnt/nfs
export LD_LIBRARY_PATH=$QTDIR/lib
$QTDIR/lib里面放程式要用到的庫和字體
lrwxrwxrwx??1 root root? ?? ?18 Jan 25 20:39 /home/nfs/new/lib/libQtCore.so.4 -> libQtCore.so.4.2.2
-rwxr-xr-x??1 root root 2082044 Jan 25 20:38 /home/nfs/new/lib/libQtCore.so.4.2.2
lrwxrwxrwx??1 root root? ?? ?17 Jan 24 21:44 /home/nfs/new/lib/libQtGui.so.4 -> libQtGui.so.4.2.2
-rwxr-xr-x??1 root root 7100212 Jan 24 21:42 /home/nfs/new/lib/libQtGui.so.4.2.2
lrwxrwxrwx??1 root root? ?? ?21 Jan 25 20:36 /home/nfs/new/lib/libQtNetwork.so.4 -> libQtNetwork.so.4.2.2
-rwxr-xr-x??1 root root??369700 Jan 25 20:35 /home/nfs/new/lib/libQtNetwork.so.4.2.2
? ?? ???能夠根據(jù)提示從/usr/local/Trolltech/QtopiaCore-4.2.2-arm/lib/復(fù)制過來,注意軟鏈接。如提示缺失libstdc++.so.6等庫文檔,可從/usr/local/arm/3.4.1/arm-linux/lib復(fù)制過來。
? ?? ???最后一個(gè)問題就是剛才提到的字體問題。網(wǎng)上的教程都是說將fontdir放到$QTDIR/lib/fonts目錄下即可。但我編譯的這個(gè)版本總不 行,提示 Cannot find font definition file /usr/local/Trolltech/QtopiaCore?
? ?? ???嘗試多次后才發(fā)現(xiàn)這個(gè)目錄就是QtopiaCore的安裝目錄。創(chuàng)建一個(gè)軟鏈接搞定
ln -s /mnt/nfs /usr/local/Trolltech/QtopiaCore-4.2.2-arm
? ?? ???文檔提示能夠用-prefix 指定安裝目錄,但這也不是辦法,configure --help里相關(guān)的更有-R和-rpath,能夠指定鏈接庫位置。只是虛擬機(jī)太慢,現(xiàn)在不敢隨便亂make了。
沒想到一個(gè) Hello World 用了3天......
轉(zhuǎn)自:[url]http://blog.chinaunix.net/u1/36490/showart_478131.html[/url]
轉(zhuǎn)載于:https://blog.51cto.com/ironpeak/103252
總結(jié)
以上是生活随笔為你收集整理的qtopia-opensource-4.2.2在arm上的移植的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDC运维团队技术交流总结篇————换个
- 下一篇: 一份详细的服务器安全解决方案