基於S3C6410的QT4交叉編譯環境搭建

Qt-extended-4.4.3移植

環境:VMware+Fedora14

嵌入式平臺:S3C6410

交叉編譯工具鏈:arm-linux-gcc 4.5.1

源碼包:arm-qt-extended-4.4.3-20101105.tgz  tslib-1.4.tar.gz

一、  搭建TI的編譯環境

主要是arm-linux-gcc和gcc的安裝

二、交叉編譯安裝  tslib-1.4

將下載的tslib-1.4.tar.gz放到pc目錄/usr/local/myfile/arm下

#tar  zxvf  tslib-1.4.tar.gz

#cd  tslib

#./autogen.sh

#./configure --prefix=/usr/local/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes

其中ac_cv_func_malloc_0_nonnull=yes 是爲解決如下編譯錯誤設置的


ts_test.o: In function `main':
ts_test.c:(.text+0x1d8): undefined reference to `rpl_malloc'
fbutils.o: In function `open_framebuffer':
fbutils.c:(.text+0xa20): undefined reference to `rpl_malloc'
collect2: ld returned 1 exit status

#make

#make install

將/usr/local/tslib整個目錄複製到arm板系統文件/opt目錄下

三、  編譯及運行Qt-extended-4.4.3

arm-qt-extended-4.4.3-20101105.tgz安裝包放到/usr/local/myfile/arm目錄下

#tar zxvf  arm-qt-extended-4.4.3-20101105.tgz

#cd arm-qt-extended-4.4.3

#tar xvzf qt-extended-opensource-src-4.4.3.tar.gz

#mkdir builddir

#QTOPIA_PREFIX_DIR=/opt/Qtopia4.4.3

     #export QTOPIA_DEPOT_PATH=$PWD/qt-extended-4.4.3
     #export QPEDIR=$PWD/builddir
     #export PATH=/opt/FriendlyARM/mini6410/linux/arm-gcc-4.4.1/bin/:$PATH

     #export LC_CTYPE="en_US"
     #export LANG="en_US"
     #export LANGUAGE="en_US"
     #cd $QPEDIR

     # echo yes | $QTOPIA_DEPOT_PATH/configure \
             -ui-type mobile \
             -xplatform linux-arm-g++ \
             -arch arm \
             -release \
             -clean \
             -prefix ${QTOPIA_PREFIX_DIR} \
             -sound-system oss \
             -build-qt \
             -no-sxe \
             -no-ssl \
             -no-v4l2 \
             -no-vpn \
             -no-phonon \
             -no-libamr \
             -dynamic-rotation \
             -mediaengines cruxus \
             -remove-mediaengine gstreamer,helix \
             -pictureflow \
             -remove-module bluetooth,drm \
             -no-dbus \
             -no-dbusipc \
             -add-displaysize 240x320 \
             -extra-qt-embedded-config "-embedded arm -xplatform qws/linux-arm-g++ -no-cups -nomake examples -nomake demos -qt-libjpeg -qt-libmng -qt-libpng -no-dbus -depths 16,32 -qt-gfx-linuxfb -qt-gfx-transformed -no-gfx-qvfb -no-gfx-vnc -no-gfx-multiscreen -qt-kbd-tty -no-kbd-usb -no-kbd-sl5000 -no-kbd-yopy -no-kbd-vr41xx -no-kbd-qvfb -qt-mouse-tslib -no-webkit -no-openssl -no-phonon -no-phonon-backend -no-nas-sound -no-exceptions -svg" \
              -extra-qt-config "-no-webkit" \
             2>&1 | tee ../qtopiaconfig.log
     

     

            #bin/qbuild 2>&1 | tee ../qtopiamake.log

            #bin/qbuild image

    出現Qt Extended has been installed.則編譯安裝成功。編譯生成的文件在builddir/image目錄下。其實我們完全可以寫一個shell文件進行整體編譯

      2、將builddir/image下所有文件複製到你的嵌入式文件系統的/opt/Qtopia4.4.3/目錄下。修改etc/profile文件:

if [ -e /etc/friendlyarm-ts-input.conf ] ; then
        . /etc/friendlyarm-ts-input.conf
fi
true    ${TSLIB_TSDEVICE:=/dev/touchscreen}

TSLIB_CONFFILE=/etc/ts.conf

export TSLIB_TSDEVICE
export TSLIB_CONFFILE

export TSLIB_PLUGINDIR=/opt/tslib/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal

export QTDIR=/opt/Qtopia4.4.3
export QPEDIR=/opt/Qtopia4.4.3
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CAMERA_DEVICE=/dev/video2

export QWS_KEYBOARD=TTY:/dev/tty1
export KDEDIR=/opt/kde

       嵌入式arm上的環境搭建好後,可以運行一些例子進行測試

       也可以在pc機的linux下運用交叉編譯環境編譯一個小程序,然後在移到arm開發板上,如果程序能夠運行,所以交叉編譯器和arm上Qt環境已經成功。

      將pc機linux下到/root/.bash-profile文件下更改環境變量PATH

      PATH=$PATH:$HOME/bin:/usr/local/myfile/arm/arm-qt-extended-4.4.3/builddir/qtopiacore/target/bin

     #source  /root/.bash-profile

qmake就可以作爲全局量進行交叉編譯,這樣方便得多
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章