mac上編譯 arm linux gnueabi交叉編譯工具鏈toolchain


crosstool-ng 編譯和安裝

交叉編譯工具下載:

git clone git@github.com:secularbird/crosstool-ng.git
 
切換到mac編譯分支
git checkout origin/macporting -b macporting
該分支對編譯中出現的一些編譯error,進行了修正,並對mulitlib的編譯進行了一定程度的修正
 
編譯和安裝
cd crosstool-ng
指定安裝路徑(默認安裝在/usr/local下).,和mac下的一些ports工具,如gobjcopy,這些可以通過mac-ports 安裝
./bootstrap 
./configure --prefix=${install_path} --with-objcopy=/opt/local/bin/gobjcopy --with-objdump=/opt/local/bin/gobjdump --with-libtool=/opt/local/bin/glibtool --with-readelf=/opt/local/bin/greadelf --witibtoolize=/opt/local/bin/glibtoolize 
make
make install
 
使用crosstool-ng編譯arm工具鏈
ct-ng menuconfig
由於mac有些限制,有些地方需要特別設定下
具體步驟如下:
make version 3.82在編譯glibc時有問題,打開EXPERIMENTAL feature以便使用自帶的make
Paths and misc options  ---> [*] Try features marked as EXPERIMENTAL
  
打開debug功能,以便可以進行單個step的編譯,而不是每次都重新編譯所有的
Paths and misc options  ---> [*] Debug crosstool-NG 
                                             ---> Debug crosstool-NG  
                                                     ---> gzip saved states (NEW)
Paths and misc options  ---> Maximum log level to see: (INFO) 
 
根據自己的需要定制cpu
Target options  --->   Target Architecture (arm)
Target options  --->   (armv6k) Architecture level
Target options  --->   (arm1176jzf-s) Tune for CPU
Target options  --->   (vfp) Use specific FPU
 
Operating System  --->  Target OS (linux) 
Operating System  --->  Linux kernel version (2.6.32.60 (longterm))
 
C compiler  ---> C compiler (gcc) 
C compiler  ---> [*] Show Linaro versions
C compiler  ---> gcc version (linaro-4.6-2013.04)
C compiler  ---> [*] C++
apple gcc不支持靜態鏈接,關閉靜態鏈接
C compiler  ---> [ ] Link libstdc++ statically into the gcc binary
 
這里使用glibc 2.13
C-library  --->  C library (glib) 
C-library  --->  glibc version (2.13)
 
使用4.3.2的GMP,5.0+的存在編譯問題
Companion libraries  ---> GMP version (4.3.2)
 
編譯自定義的make,
Companion tools  --->  [*] Build some companion tools 
Companion tools  --->  [*]   make
 
Esc Esc 保存並退出設定界面
 
編譯工具鏈
ct-ng build
 
 
編譯完成后,工具鏈默認存放在在~/x-tools/下
 
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM