安装编译链
A. ubuntu怎么安装交叉编译工具链
. 解压 arm-linux-gcc-3.4.1.tar.bz2
#tar -jxvf arm-linux-gcc-3.4.1.tar.bz2
解压过程需要一段时间,解压后的文件形成了 usr/local/ 文件夹,进入该文件夹,将arm文件夹拷贝到/usr/local/下
# cd usr/local/
#cp -rv arm /usr/local/
现在交叉编译程序集都在/usr/local/arm/3.4.1/bin下面了
3. 修改环境变量,把交叉编译器的路径加入到PATH。(有三种方法,强烈推荐使用方法一)
方法一:修改/etc/bash.bashrc文件
#vim /etc/bash.bashrc
在最后加上:
export PATH=$PATH:/usr/local/arm/3.4.1/bin
export PATH
B. 如何在arm板子上安装交叉编译工具链
所谓的搭建交叉编译环境,即安装、配置交叉编译工具链。在该环境下编译出嵌入式Linux系统所需的操作系统、应用程序等,然后再上传到目标机上。 交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码。对于交叉开发的工具链来说...
C. 如何安装hi3518e的交叉编译链
交叉编译器通常以 arm-none-linux-gnueabi.tar.bz2 这样的名称发布(不同厂家的不同开发平台,交叉编译工具链的实际名称可能有所差别,请以实际为准),解压命令: vmuser@Linux-host: ~$ tar xjvf arm-none-linux-gnueabi.tar.bz2 如果希望解压
D. 交叉编译链应该安装到哪个目录下
创建目录以及环境变量
在当前用户目录下创建target-project文件夹,在该文件夹下创建mips-mole文件夹,在mips-mole文件夹下创建三个文件夹:build-tools,kernel,tools,最后,在build-tools文件夹下创建build-gcc,build-boot-gcc,build-glibc,build-binutils文件夹。命令如下:
$ cd ~
$ mkdir -p ./target-project/mips-mole/{kernel/,tools/,build-tools/{build-gcc,build-boot-gcc,build-glibc,build-binutils}}
$ tree ./target-project/mips-mole/
观察目录结构,如下图:
使用脚本构建环境变量,脚本内容如下图:
注意修改/home/用户名,修改正确后,使用source使脚本生效
$ cd target-project
$ chmod +x mips.sh
$ source mips.sh
可以使用echo査看相关变量名以观察环境变量是否生效。
最后把linux-2.6.38.tar.bz2下载放置在kernel文件夹下,binutils-2.22.tar.gz,gcc-4.6.2.tar.gz,glibc-2.14.tar.gz,glibc-ports-2.14.tar.gz,gmp-5.0.4.tar.gz,mpc-0.9.tar.gz,mpfr-3.0.1.tar.gz下载放置在build-tools文件夹下。
E. Linux安装uclibc交叉编译工具链的步骤如要将原先的glibc卸载吗
……肯定不能卸载原来的glibc,卸了之后整个系统都不能用了
你要编译的uclibc是linux->arm的和arm->arm的,glibc是给linux->linux用的
F. linux交叉编译链安装错误
gcc 编译出错哦
G. 如何搭建stm32的编译工具链
看你预装了什么IDE。比方ARM MDK, IAR等。
安装好后,建议你下载STM32cube库,里面有基于
多种IDE的工程,现存工程,边用变摸索。
H. Linux嵌入式交叉编译工具链问题 浅谈
简介
交叉编译工具链是一个由编译器、连接器和解释器组成的综合开发环境,交叉编译工具链主要由binutils、gcc和glibc 3个部分组成。有时出于减小libc库大小的考虑,也可以用别的c库来代替glibc,例如uClibc、dietlibc和newlib。交叉编译工具链主要包括针对目标系统的编译器gcc、目标系统的二进制工具binutils、目标系统的标准c库glibc和目标系统的Linux内核头文件。第一个步骤就是确定目标平台。每个目标平台都有一个明确的格式,这些信息用于在构建过程中识别要使用的不同工具的正确版本。因此,当在一个特定目标机下运行GCC时,GCC便在目录路径中查找包含该目标规范的应用程序路径。GNU的目标规范格式为CPU-PLATFORM-OS。例如,建立基于ARM平台的交叉工具链,目标平台名为arm-linux-gnu。
交叉编译工具链的制作方法
分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。
通过Crosstool脚本工具来实现一次编译生成交叉编译工具链。
直接通过网上(ftp.arm.kernel.org.uk)下载已经制作好的交叉编译工具链。
方法1相对比较困难,适合想深入学习构建交叉工具链的读者。如果只是想使用交叉工具链,建议使用方法2或方法3构建交叉工具链。方法3的优点不用多说,当然是简单省事,但与此同时该方法有一定的弊端就是局限性太大,因为毕竟是别人构建好的,也就是固定的没有灵活性,所以构建所用的库以及编译器的版本也许并不适合你要编译的程序,同时也许会在使用时出现许多莫名的错误,建议你慎用此方法。
方法1:分步构建交叉编译工具链
下载所需的源代码包
建立工作目录
建立环境变量
编译、安装Binutils
获取内核头文件
编译gcc的辅助编译器
编译生成glibc库
编译生成完整的gcc
由于在问答中的篇幅,我不能细述具体的步骤,兴趣的同学请自行阅读开源共创协议的《Linux from scratch》,网址是:linuxfromscratch dot org
。
方法2:用Crosstool工具构建交叉工具链(推荐)
Crosstool是一组脚本工具集,可构建和测试不同版本的gcc和glibc,用于那些支持glibc的体系结构。它也是一个开源项目,下载地址是kegel dot com/crosstool。用Crosstool构建交叉工具链要比上述的分步编译容易得多,并且也方便许多,对于仅仅为了工作需要构建交叉编译工具链的你,建议使用此方法。
运行which makeinfo,如果不能找见该命令,在解压texinfo-4.11.tar.bz2,进入texinfo-4.11目录,执行./configure&&make&&make install完成makeinfo工具的安装
准备文件:
下载所需资源文件linux-2.4.20.tar.gz、binutils-2.19.tar.bz2、gcc-3.3.6.tar.gz、glibc- 2.3.2.tar.gz、glibc-linuxthreads-2.3.2.tar.gz和gdb-6.5.tar.bz2。然后将这些工具包文件放在新建的$HOME/downloads目录下,最后在$HOME/目录下解压crosstool-0.43.tar.gz,命
令如下:
#cd$HOME/
#tar–xvzfcrosstool-0.43.tar.gz
建立脚本文件
接着需要建立自己的编译脚本,起名为arm.sh,为了简化编写arm.sh,寻找一个最接近的脚本文件demo-arm.sh作为模板,然后将该脚本的内容复制到arm.sh,修改arm.sh脚本,具体操作如下:
# cd crosstool-0.43
# cp demo-arm.sh arm.sh
# vi arm.sh
修改后的arm.sh脚本内容如下:
#!/bin/sh
set-ex
TARBALLS_DIR=$HOME/downloads#定义工具链源码所存放位置。
RESULT_TOP=$HOME/arm-bin#定义工具链的安装目录
exportTARBALLS_DIRRESULT_TOP
GCC_LANGUAGES="c,c++"#定义支持C,C++语言
exportGCC_LANGUAGES
#创建/opt/crosstool目录
mkdir-p$RESULT_TOP
#编译工具链,该过程需要数小时完成。
eval'catarm.datgcc-3.3.6-glibc-2.3.2.dat'shall.sh--notest
echoDone.
建立配置文件
在arm.sh脚本文件中需要注意arm-xscale.dat和gcc-3.3.6-glibc-2.3.2.dat两个文件,这两个文件是作为Crosstool的编译的配置文件。其中arm.dat文件内容如下,主要用于定义配置文件、定义生成编译工具链的名称以及定义编译选项等。
KERNELCONFIG='pwd'/arm.config#内核的配置
TARGET=arm-linux#编译生成的工具链名称
TARGET_CFLAGS="-O"#编译选项
gcc-3.3.6-glibc-2.3.2.dat文件内容如下,该文件主要定义编译过程中所需要的库以及它定义的版本,如果在编译过程中发现有些库不存在时,Crosstool会自动在相关网站上下载,该工具在这点上相对比较智能,也非常有用。
BINUTILS_DIR=binutils-2.19
GCC_DIR=gcc-3.3.6
GLIBC_DIR=glibc-2.3.2
LINUX_DIR=linux-2.6.10-8(根据实际情况填写)
GDB_DIR=gdb-6.5
执行脚本
将Crosstool的脚本文件和配置文件准备好之后,开始执行arm.sh脚本来编译交叉编译工具。具体执行命令如下:
#cdcrosstool-0.43
#./arm.sh
经过数小时的漫长编译之后,会在/opt/crosstool目录下生成新的交叉编译工具,其中包括以下内容:
arm-linux-addr2linearm-linux-g++arm-linux-ldarm-linux-size
arm-linux-ararm-linux-gccarm-linux-nmarm-linux-strings
arm-linux-asarm-linux-gcc-3.3.6arm-linux-objarm-linux-strip
arm-linux-c++arm-linux-gccbugarm-linux-objmpfix-embedded-paths
arm-linux-c++filtarm-linux-gcovarm-linux-ranlib
arm-linux-cpparm-linux-gprofarm-linux-readelf
添加环境变量
然后将生成的编译工具链路径添加到环境变量PATH上去,添加的方法是在系统/etc/ bashrc文件的最后添加下面一行,在bashrc文件中添加环境变量
export PATH=/home/jiabing/gcc-3.3.6-glibc-2.3.2/arm-linux-bin/bin:$PATH
至此,arm-linux下的交叉编译工具链已经完成,现在就可以使用arm-linux-gcc来生成试验箱上的程序了!
I. 如何在linux中安装一个编译链
用rpm安装
J. 如何在Windows下安装使用gcc编译器
1、 先去Cygwin网站下载一个安装文件(setup.exe),这个文件体积很小,只有不到300KB。然后双击运行setup.exe。因为是第一次安装,所以必须选择从Internet在线安装,也可以先从Internet下载安装文件,然后再手动安装。我选择后者,因为这样,以后我可以在不联网的时候也能安装。
2、接下来点击“下一步”,然后从一系列服务器列表中选择一个你认为网速最快的一个作为下载服务器。接着点击“下一步”就会出现如下图所示的界面,用来选择你想安装的程序。
如果你不做任何修改,将默认安装Cygwin运行所需的最少的程序和组件。不过,gcc编译器不在默认安装程序之列,所以你必须选择安装gcc。具体是, 在上述窗口中的列表中展开Devel目录,找到gcc-g++一项,点击“Default”,它就变成了“Install”,同时由于程序之间的依赖性 gcc-core条目的“Default”,也变成了“Install”。
此外,为了使gcc能正确编译源文件,还必须安装win32api库,否则会编译出错。因此,你需要在上述窗口中展开Libs目录,找到win32api一项,将它点成“Install”。
3. 接下来就是耐心等待程序去下载所需的安装文件了。一旦下载完毕,你再次运行setup.exe,先选择你将要把Cygwin安装在什么地方,然后再选择你 刚才所下载的那些安装文件所在的硬盘位置。接着你还需要再次选择安装gcc和win32api。这样,你就可以开始安装了。
4. 安装完成后,运行Cygwin。在窗口中敲入gcc就可以直接用gcc来编译了。编译链接生成的可执行文件,系统会自动加上.exe后缀,在Cygwin 环境中可以直接运行。但如果脱离Cygwin环境,而在MS DOS下运行,则会出错。解决办法很简单,那就是将cygwin1.dll文件拷贝到C:\WINDOWS目录下即可。