gcc編譯器配置


 

 

 

 

一.使用交叉編譯器編譯

1.安裝交叉編譯工具鏈

2.導出環境變量

[ubuntu @tmp]$ export PATH=$PATH:/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/aarch64-poky-linux   //導出編譯工具鏈的路徑
[ubuntu @tmp]$ export CC="aarch64-poky-linux-gcc -march=armv8-a -mtune=cortex-a57.cortex-a53 --sysroot=/usr/local/oecore-x86_64/sysroots/aarch64-poky-linux" //編譯時要指定sysroot
[ubuntu @tmp]$ $CC test.c -o test //編譯

注意:Android上面的編譯方法不是這樣的。

 

 

[ubuntu @Yocto]$ . scripts/oesdk_app.sh
[ubuntu @Yocto]$ $CC -v
Using built-in specs.
COLLECT_GCC=aarch64-poky-linux-gcc
COLLECT_LTO_WRAPPER=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/aarch64-poky-linux/gcc/aarch64-poky-linux/7.2.0/lto-wrapper
Target: aarch64-poky-linux
Configured with: ../../../../../../work-shared/gcc-7.2.0-r0/gcc-7.2.0/configure 
--build=x86_64-linux 
--host=x86_64-oesdk-linux 
--target=aarch64-poky-linux 
--prefix=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr 
--exec_prefix=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr 
--bindir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/aarch64-poky-linux 
--sbindir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/aarch64-poky-linux 
--libexecdir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/libexec/aarch64-poky-linux 
--datadir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/share 
--sysconfdir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/etc 
--sharedstatedir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/com 
--localstatedir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/var 
--libdir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/aarch64-poky-linux 
--includedir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/include 
--oldincludedir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/include 
--infodir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/share/info 
--mandir=/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/share/man 
--disable-silent-rules 
--disable-dependency-tracking 
--with-libtool-sysroot=/home/user10/g6s/build/tmp/work/x86_64-nativesdk-oesdk-linux/gcc-cross-canadian-aarch64/7.2.0-r0/recipe-sysroot 
--with-gnu-ld 
--enable-shared 
--enable-languages=c,c++ 
--enable-threads=posix 
--enable-multilib 
--enable-c99 
--enable-long-long 
--enable-symvers=gnu 
--enable-libstdcxx-pch 
--program-prefix=aarch64-poky-linux- 
--without-local-prefix 
--enable-lto 
--enable-libssp 
--enable-libitm 
--disable-bootstrap 
--disable-libmudflap 
--with-system-zlib 
--with-linker-hash-style=gnu 
--enable-linker-build-id 
--with-ppl=no 
--with-cloog=no 
--enable-checking=release 
--enable-cheaders=c_global 
--without-isl 
--with-gxx-include-dir=/not/exist/usr/include/c++/7.2.0 
--with-build-time-tools=/home/user10/g6s/build/tmp/work/x86_64-nativesdk-oesdk-linux/gcc-cross-canadian-aarch64/7.2.0-r0/recipe-sysroot-native/usr/aarch64-poky-linux/bin 
--with-sysroot=/not/exist 
--with-build-sysroot=/home/user10/g6s/build/tmp/work/x86_64-nativesdk-oesdk-linux/gcc-cross-canadian-aarch64/7.2.0-r0/recipe-sysroot 
--without-long-double-128 
--enable-poison-system-directories 
--with-mpfr=/home/user1/g6p/build/tmp/work/x86_64-nativesdk-oesdk-linux/gcc-cross-canadian-aarch64/7.2.0-r0/recipe-sysroot 
--with-mpc=/home/user1/g6p/build/tmp/work/x86_64-nativesdk-oesdk-linux/gcc-cross-canadian-aarch64/7.2.0-r0/recipe-sysroot 
--enable-nls 
--enable-initfini-array 
--enable-__cxa_atexit
Thread model: posix
gcc version 7.2.0 (GCC) 

 


免責聲明!

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



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