歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux技術

QT4.8.6移植到ARM(TQ210開發板)

交叉編譯器用的是arm-linux-gcc4.3.2。
1.安裝依賴:sudo apt-get install libX11-dev libXext-dev libXtst-dev
2.下載:qt-everywhere-opensource-src-4.8.6.tar.gz,網址:http://download.qt.io/archive/qt/
3.解壓:tar zxf qt-everywhere-opensource-src-4.8.6.tar.gz
4.配置:cd qt-everywhere-opensource-src-4.8.6/
echo yes | ./configure -prefix /home/yuntaohe/work/TQ210/QT4.8.6 -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit

提示QT將安裝到/home/yuntaohe/work/TQ210/QT4.8.6目錄
5.編譯:make -j8,編譯一段時間後報錯:
undefined reference to `__sync_sub_and_fetch_4’
collect2: ld returned 1 exit status
make[1]: *** [../../lib/libQtScript.so.4.8.6] Error 1
make[1]: Leaving directory `/home/yuntaohe/work/TQ210/qt-everywhere-opensource-src-4.8.6/src/script’
make: *** [sub-script-make_default-ordered] Error 2
解決方法:下載gcc-4.4.3源碼,解壓後,在gcc/config/arm目錄下存在linux-atomic.c,將其編譯為庫文件。
cd gcc/config/arm
libtool –tag=CC –mode=compile arm-linux-gcc -g -O2 -MT linux-atomic.lo -MD -MP -MF linux-atomic.Tpo -c -o linux-atomic.lo linux-atomic.c
libtool –tag=CC –mode=link arm-linux-g++ -g -O2 -o liblinux-atomic.la linux-atomic.lo
libtool工具如果不存在,安裝即可:sudo apt-get install libtool。
完成後,會在gcc/config/arm目錄下生成.libs目錄,拷貝liblinux-atomic.a至臨時目錄:cp .libs/liblinux-atomic.a /home/yuntaohe/work/TQ210,修改QT的src/script/Makefile,在19行的LIBS = $(SUBLIBS)結尾加上-L/home/yuntaohe/work/TQ210 -llinux-atomic,保存,繼續make即可。
6.安裝:make install,完成後會在安裝目錄/home/yuntaohe/work/TQ210/QT4.8.6下生成如下目錄:
bin demos examples imports include lib mkspecs plugins translations。
將lib目錄復制到開發板的文件系統:cp lib rootfs -rf -d。
7.設置環境變量:sudo vim /etc/profile,在文件尾加上環境變量路徑,保存後執行source /etc/profile。
export QTDIR=/home/yuntaohe/work/TQ210/QT4.8.6
export LD_LIBRARY_PATH=/home/yuntaohe/work/TQ210/QT4.8.6/lib
export PATH=$QTDIR/bin:$PATH
8.程序驗證:gedit main.cpp,輸入如下代碼:
[code]#include <QApplication>
#include <QDebug>

int main(int argc,char *argv[]) 
{
    qDebug("Hello, welcome to Qt world!");
    return 0;
}

依次執行qmake -project -o main.pro , qmake, make生成應用程序main。將main可執行程序拷貝開發板文件系統,在開發板的/etc/profile設置環境變量。
export QTDIR=/qt4.8.6
export QTDIRlib=/qt4.8.6/lib
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export PATH=$QTDIR/bin:$PATH
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
重啟開發板,執行應用程序:./main,輸出Hello, welcome to Qt world!
Copyright © Linux教程網 All Rights Reserved