×

toolchain

toolchain(关于arm-elf-tools和arm-linux-toolchain的区别)

admin admin 发表于2023-10-29 03:55:51 浏览30 评论0

抢沙发发表评论

本文目录

关于arm-elf-tools和arm-linux-toolchain的区别

区别如下:

  1. arm-linux-*和 arm-elf-*,两者区别主要在于使用不同的C库文件。

  2. arm-linux-*使用GNU的Glibc,而arm-elf-*一般使用 uClibc/uC-libc或者使用REDHAT专门为嵌入式系统的开发的C库newlib.Glibc。

  3. uClibc/uC-libc以及 newlib都是C语言库文件,只是所应用的领域不同而已,Glibc是针对PC开发的,uClibc/uC-libc是与Glibc API兼容的小型化C语言库,实现了Glibc部分功能。

toolchain与官方sdk开发有什么区别

toolchain主要是使用了大量的非官方头文件,使得它的库显得丰富.不过这些多数为官方认为的私有api,所以被拒上appstore.这也是大家为什么只能先官方SDK的原因所在.

toolchain 添加在什么目录

你好,添加的目录如下:但是建议放在一致的目录,因为有些第三方库会依赖--with-sysroot,所以如果你随便放一个位置,可能有些三方库会configure失败

如何在ubuntu中搭建交叉编译环境toolchain

1.安装交叉编译环境 sudo apt-get install gcc g++ libcc1 libg++ make gdb2.安装交叉编译器 ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/ 下载 cross -3.2.tar.bz2或者懒得去找干脆wget ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/ cross -3.2.tar.bz2解压sudo tar jxvf /home/zhaifang/cross -3.2.tar.bz2sudo mv /home/zhaifang/usr/local/arm /usr/local3.交叉编译器加入路径 sudo vi /etc/bash.bashrc后面加入if ; thenPATH=/usr/local/arm/bin:’${PATH}’fi4.使环境生效 #source /etc/profile5.检查 echo $PATH 出现/usr/local/arm/bin说明成功了6.测试 arm-linux-gcc -v

如何安装ARM toolchain

  我们有两个选择,第一是直接在 Raspberry Pi 上编译。第二是先在我们的个人电脑用 Raspberry Pi 的 toolchain 编译完成後,再上传到 Pi。  这里简介如何在个人电脑安装 Raspberry Pi 的 toolchain,以在 ubuntu 上安装 gcc-linaro-arm-linux-gnueabihf-raspbian 为例。  1. 在个人电脑安装必要的套件。  sosorry@ubuntu:~$ sudo apt-get install make git-core ncurses-dev  2. 下载最新版的 toolchain。  sosorry@ubuntu:~$ mkdir rpi  sosorry$ubuntu:~$ cd rpi  sosorry@ubuntu:~/rpi$ git clone   arm-linux-gnueabihf-addr2line arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gfortran arm-linux-gnueabihf-objdump  arm-linux-gnueabihf-ar arm-linux-gnueabihf-gcc-4.7.2 arm-linux-gnueabihf-gprof arm-linux-gnueabihf-pkg-config  arm-linux-gnueabihf-as arm-linux-gnueabihf-gcc-ar arm-linux-gnueabihf-ld arm-linux-gnueabihf-pkg-config-real  arm-linux-gnueabihf-c++ arm-linux-gnueabihf-gcc-nm arm-linux-gnueabihf-ld.bfd arm-linux-gnueabihf-ranlib  arm-linux-gnueabihf-c++filt arm-linux-gnueabihf-gcc-ranlib arm-linux-gnueabihf-ldd arm-linux-gnueabihf-readelf  arm-linux-gnueabihf-cpp arm-linux-gnueabihf-gcov arm-linux-gnueabihf-ld.gold arm-linux-gnueabihf-size  arm-linux-gnueabihf-elfedit arm-linux-gnueabihf-gdb arm-linux-gnueabihf-nm arm-linux-gnueabihf-strings  arm-linux-gnueabihf-g++ arm-linux-gnueabihf-gdbtui arm-linux-gnueabihf-objcopy arm-linux-gnueabihf-strip

不同的android有不同的toolchain么

搞清楚一点就好。toochain是干什么的?是为了在与目标机不同的环境下编译出能在目标机上执行的代码。比如说在x86机器的linux下编译能跑在arm上的android的内核,那么只要找到一个linux-86 -arm的toochain就可以。这个也可以用android源码自带的toolchain。理由是因为内核并不需要用到bionic。如果编译android,那就要用android自带的toolchain,因为如斑竹所说,android用的c库是bionic而不是标准的libc,而且加载库使用的/system/bin/linker而不是常用的/lib/ld.so; 因此用其他的toolchain则只能编译成静态的才能跑。当然如果能够制作出兼容bionic的toolchain出来理论上也是能用的,不过没看到过成功的例子。说错的地方请拍砖。