自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析 QT Embedded 交叉編譯 ARM 部分

移動開發(fā)
本文介紹的是解析 QT Embedded 交叉編譯 ARM 部分,對于QT Embedded 交叉編譯相信友們已經(jīng)不陌生了,那么先來看內(nèi)容。

QT Embedded  交叉編譯 ARM 部分是本文將要介紹的內(nèi)容,先來看本內(nèi)容。

  1. tmake-1.11.tar.gz ,  
  2. qt-embede-2.3.7.tar.gz ,  
  3.  qt-x11-2.3.2.tar.gz,  
  4.  qt-free-1.7.tar.gz e2fsprogs.1.35.tar.gz,  
  5.  jpegsrc.v6b.tar.gz 

同樣我在/home/mainframe下建立目錄qt_arm作為交叉編譯目錄

好!我們開始分析腳本:

#cd /home/mainframe/qt_arm (拷貝上述所有壓縮包到該目錄包括e2fsprogs-1.35.tar.gz和jpegsrc.v6b.tar.gz兩個壓縮包)

當(dāng)前目錄為/home/mainframe/qt_arm

#tar xzvf +各個壓縮包,解壓到/home/mainframe/qt_arm,記得要解壓e2...和jpegsrc....兩個包哦

  1. #mv tmake-11 tmake  
  2. #mv qt-2.3.7.tar.gz qt  
  3. #mv qt-2.3.2.tar.gz qt-x11  
  4. #mv qt-free-1.7.tar.gz qtopia 

其實 moc,uic,designer 等等文件可以copy 編譯PC機(jī)時產(chǎn)生的。沒問題的,沒必要重新再編譯一次。

  1. # cd .. 

下面開始配置環(huán)境變量,很多腳本都這樣寫

  1. #export QTDIR=$PWD/qt  
  2. #export QTEDIR=$QTDIR  
  3. #export QPEDIR=$PWD/qtopia  
  4. #export TMAKEDIR=$PWD/tmake  
  5. #export TMAKEPATH=$TMAKEDIR/llib/qws/linux-arm-g++(常規(guī)g++編譯器)這點就和PC上的不同了,qws目錄中有很多包括手機(jī),PDA和ARM之類的g++編譯器。  
  6. #export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH  
  7. #export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH  

還是原來的說法,寫一個環(huán)境變量腳本,在需要的時候才啟用該腳本。!良好的習(xí)慣。

  1. #cd ..  
  2. #cd qt  
  3. #make clean 

再次強(qiáng)調(diào)以下步驟是必要的,否則會出現(xiàn)cannot fine -lqte問題

  1. #cp $QPEDIR/src/qt/qconfig-qpe.h src/tools  
  2. #echo yes|./configure -platform linux-arm-g++ -qconfig qpe -qvfb -depths 16,24,32 

(所有的configure文件都要按照自己的實際需要配置,別人的不一定適合你。)

  1. #make -C src 

上面沒有問題的話那么我們開始準(zhǔn)備編譯qtopia目錄內(nèi)的東西啦!

  1. #cd .. 

如果你這樣做:

  1. cd qtopia/src  
  2. ./configure -platform linux-arm-g++  
  3. make  

那么會出現(xiàn)這樣的錯誤:

cannot find -lqtopia以及uuid.h 找不到的問題

  1. #tar --xzvf e2fsprogs.1.35.tar.gz  
  2. #cd e2fsprogs-1.35   
  3. #./configure -host=arm-linux -with-cc=arm-linux-gcc -with-linker=arm-linux-ld -enable-eld-shlibs  
  4. -prefix=/usr/local/arm/2.95.3/arm-linux 

注意:這里prefix選項很重要,必須指定交叉編譯工具2.95.3中的arm-linux,不要改成別的目錄或者不指定prefix選項,

  1. #make  
  2. #make install lib/uuid 安裝到該目錄  
  3. #tar xzf e2fsprogs-1.35.tar.gz  
  4. #cd e2fsprogs-1.35  
  5. #./configure -host=arm-linux -with-cc=arm-linux-gcc -with-linker=arm-linux-ld -enable-elf-shlibs -prefix=/usr/local/arm/2.95.3/arm-linux  
  6. #make  
  7. #make install lib/uuid/ 

將e2fsprogs-1.35/lib/目錄下uuid的文件夾復(fù)制到/home/mainframe/qt_arm/qtopia/include下
將e2fsprogs-1.35/lib/中的libuuid.a libuuid.so libuuid..so.1 libuuid.so.1.2復(fù)制到/home/mainframe/qtopia/lib下,有必要也copy一份到 /usr/local/arm/2.95.3/arm-linux/lib下面

好!問題解決了。

如果你這樣做:

  1. cd qtopia/src  
  2. ./configure -platform linux-arm-g++  
  3. make  

那么會出現(xiàn)以下錯誤:

  1. ./usr/local/arm/2.95.3/arm-linux/bin/ld: cannot find -ljpeg 

這是因為在qt目錄內(nèi)編譯是configure文件默認(rèn)配置為支持jpeg,然后在最后編譯的時候找不到相關(guān)的鏈接庫.這個時候我們需要壓縮包jpegsrc.v6b.tar.gz,來解決這個問題

下載jpegsrc.v6b.tar.gz到qtarm目錄并解壓,進(jìn)入目錄jpeg-6b:

  1. ./configure --enable-shared 

make (得到libtools程序)

  1. ./configure --enable-shared 

修改生成的Makefile文件:

  1. prefix = /home/mainframe/qt (qte的路徑)  
  2. CC =/usr/local/arm/2.95.3/bin/arm-linux-gcc  
  3. AR =/usr/local/arm/2.95.3/bin/arm-linux-ar rc  
  4. AR2=/usr/local/arm/2.95.3/bin/arm-linux-ranlib  
  5. cp jconfig.doc jconfig.h  
  6. mkdir -p /home/mainframe/qt/man/man1  
  7. make 

生成的libjpeg.so在.libs下,將libjpeg.so拷貝到/usr/local/arm/2.95.3/bin/arm-linux/lib

將/jpeg-6b/.libs目錄下的libjpeg.la,libjpeg.so ,libjpeg.so.62 以及l(fā)ibjpeg.so.62.0.0拷貝到目錄

  1. /usr/local/arm/2.95.3/arm-linux/lib (沒有bin) 

好!這個問題解決了,再來:

  1. cd qtopia/src  
  2. ./configure -platform linux-arm-g++  
  3. make 

小結(jié):解析 QT Embedded  交叉編譯 ARM 部分的內(nèi)容就介紹到這,目前我也只做到了這一步,其他的還在探索中。歡迎大家交流。當(dāng)中的很多文字借鑒了別人的,哈!見諒。最后希望本文能讀你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-23 18:04:42

Qt Embedded

2011-06-23 18:16:59

Qt Qtopia

2011-06-23 16:24:21

Qt Embedded 交叉編譯

2011-06-09 16:47:56

Qt 嵌入式

2011-06-08 15:27:24

QT QT 4.5 編譯

2011-06-09 15:18:07

QT 編譯

2011-07-04 15:13:31

QT MPlayer 移植

2011-06-13 14:49:57

Qt Designer

2011-06-17 08:59:27

QT Embedded Arm

2011-06-13 13:35:06

Qt Embedded QT

2011-06-09 14:56:53

QT 編譯

2011-06-14 13:59:09

Qt Qt 4.7.3 MYsql

2011-06-20 14:27:57

Qt Embedded

2010-02-02 15:13:42

Linux ARM

2011-06-30 10:59:43

2011-07-05 14:06:17

編譯 Qt

2011-04-22 14:59:14

RedHat編譯器

2011-06-29 15:14:22

Qt Embedded 鍵盤

2011-06-29 15:36:21

Qt Embedded 鍵盤

2021-05-13 09:45:53

GolangLinux交叉編譯
點贊
收藏

51CTO技術(shù)棧公眾號