next up previous contents
Next: Qt embedded 環境建立 Up: QtEmbedded porting Previous: QtEmbedded porting   Contents

arm 編譯環境建立

  1. Qt Embedded porting on ARM platform
  2. arm-linux-gcc 編譯套件下載
    [root@dyH ~]# cd /usr/src
    [root@dyH src]# wget http://www.friendlyarm.net/dl.php?file=arm-linux-gcc-4.3.2.tgz
    
  3. arm-linux-gcc tar 打包含 usr/local/arm/4.3.2 目錄,建議直接到根目錄 / 下解壓縮 arm-linux-gcc,可以省去移動目錄的步驟。
    [root@dyH ~]# cd /
    [dywang@dyH /]$ tar zxvf /usr/src/arm-linux-gcc-4.3.2.tgz
    [root@dyH ~]# cd -
    [root@dyH src]# ls /usr/local/arm/
    4.3.2
    
  4. arm-linux-gcc 解壓縮在 /usr/local 下,表示已經安裝完成,其執行目錄在 /usr.local/arm/4.3.2/bin。
    [root@dyH src]# ll /usr/local/arm/4.3.2/
    total 20
    drwxr-xr-x. 6 root root 4096 Nov 18  2008 arm-none-linux-gnueabi
    drwxr-xr-x. 2 root root 4096 Mar 25  2009 bin
    drwxr-xr-x. 3 root root 4096 Nov 18  2008 lib
    drwxr-xr-x. 4 root root 4096 Nov 18  2008 libexec
    drwxr-xr-x. 3 root root 4096 Nov 18  2008 share
    
    [root@dyH src]# ls /usr/local/arm/4.3.2/bin
    arm-linux-addr2line  arm-none-linux-gnueabi-addr2line
    arm-linux-ar         arm-none-linux-gnueabi-ar
    arm-linux-as         arm-none-linux-gnueabi-as
    arm-linux-c++        arm-none-linux-gnueabi-c++
    arm-linux-c++filt    arm-none-linux-gnueabi-c++filt
    arm-linux-cpp        arm-none-linux-gnueabi-cpp
    arm-linux-g++        arm-none-linux-gnueabi-g++
    arm-linux-gcc        arm-none-linux-gnueabi-gcc
    arm-linux-gcc-4.3.2  arm-none-linux-gnueabi-gcc-4.3.2
    arm-linux-gcov       arm-none-linux-gnueabi-gcov
    arm-linux-gdb        arm-none-linux-gnueabi-gdb
    arm-linux-gdbtui     arm-none-linux-gnueabi-gdbtui
    arm-linux-gprof      arm-none-linux-gnueabi-gprof
    arm-linux-ld         arm-none-linux-gnueabi-ld
    arm-linux-nm         arm-none-linux-gnueabi-nm
    arm-linux-objcopy    arm-none-linux-gnueabi-objcopy
    arm-linux-objdump    arm-none-linux-gnueabi-objdump
    arm-linux-ranlib     arm-none-linux-gnueabi-ranlib
    arm-linux-readelf    arm-none-linux-gnueabi-readelf
    arm-linux-size       arm-none-linux-gnueabi-size
    arm-linux-sprite     arm-none-linux-gnueabi-sprite
    arm-linux-strings    arm-none-linux-gnueabi-strings
    arm-linux-strip      arm-none-linux-gnueabi-strip
    
  5. 因環境變數 PATH,不包含 arm-linux-gcc 命令所在目錄,試著執行 arm-linux-gcc 指令,會出現命令不存在的回應。
    [root@dyH src]# echo $PATH
    /usr/bin:/bin:/sbin:/usr/sbin:/sbin:/usr/sbin:/root/bin:/root/bin
    [root@dyH src]# arm-linux-gcc
    -bash: arm-linux-gcc: command not found
    
  6. export arm-linux-gcc 目錄至環境變數 PATH。
    [root@dyH ~]# cd 
    [root@dyH ~]# echo $PATH
    /usr/bin:/bin:/sbin:/usr/sbin:/sbin:/usr/sbin:/root/bin
    [root@dyH ~]# echo 'export PATH=/usr/local/arm/4.3.2/bin/:$PATH' >> .bashrc
    [root@dyH ~]# . .bashrc 
    [root@dyH ~]# echo $PATH
    /usr/local/arm/4.3.2/bin/:/usr/bin:/bin:/sbin:/usr/sbin:/sbin:/usr/sbin:/root/bin
    
  7. 再執行 arm-linux-gcc,已經可以直接執行。
    [root@dyH ~]# arm-linux-gcc
    arm-none-linux-gnueabi-gcc: no input files
    



2015-01-16