ubuntu 12.04版本交叉编译器安装的相关问题
2014-12-30 22:25
288 查看
弄了一下午,终于找到了解决问题的办法!!!!
下面是具体操作:
一.下载arm linux gcc 4.3.2
http://pan.baidu.com/share/link?shareid=1575352696&uk=2754759285&fid=2185900163
二.安装arm linux gcc 4.3.2
1.复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里
2.将文件解压到/usr/local目录下
解压命令tar xvzf arm-linux-gcc-4.3.2 -C /
注意以上命令必须要有-C而且是大写的,还有就是C与/之间有个空格
解压后的目录结构是这样的:/usr/local/arm/4.3.2
3.将路径/usr/local/arm/4.3.2/bin添加到环境变量PATH中
修改/root/.bashrc文件
#vim /root/.bashrc
在文件后面加上以下代码
export PATH=$PATH:/usr/local/arm/4.3.2/bin
为了保证成功还可以编辑/etc/profile文件
#vim /etc/profile
也是在后面加上以下代码
PATH=$PATH:/usr/local/arm/4.3.2/bin
保存后再执行命令
#source /etc/profile
使profile文件生效
4.测试安装是否成功
1)重启系统,输入命令
#arm-linux-gcc -v
如果安装成功将会输出 arm-linux-gcc的版本号
2)编译Hello World程序,测试交叉工具链
写下下面的Hello World程序,保存为hello.c
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
执行下面的命令:
# arm-linux-gcc -o hello hello.c
源程序有错误的话会有提示,没有任何提示的话,就是通过了,就可以下载到ARM目标板上运行了!
接着可以输入filehello的命令,查看生成的hello文件的类型,要注意的是生成的可执行文件只能在ARM体系下运行,不能在其于X86的PC机上运行。
三.遇到的问题
如果安装的64位的Ubuntu的话,执行
#arm-linux-gcc -v
会遇到/usr/local/arm/4.3.2/bin/arm-linux-gcc: line 3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: No such file or directory的问题
这时只要安装32位的兼容库就行了
#sudo apt-get install libncurses5:i386
在64位下,gcc默认编译代码位64位的,但是,如果你想编译位的,可以用gcc -m32选项,来设置。
不过,不幸的是,会出现错误,说找不到 /usr/include/features.h文件什么的。google一下,发现用这种方法:
sudo apt-get install g++-multilib
就可以了。
四.参考资料
http://www.360doc.com/content/11/1211/13/1317564_171441865.shtml http://blog.csdn.net/doon/article/details/8053174 http://blog.csdn.net/fulinus/article/details/8648384 http://blog.sina.com.cn/s/blog_8f396e3701010hcx.html
下面是具体操作:
一.下载arm linux gcc 4.3.2
http://pan.baidu.com/share/link?shareid=1575352696&uk=2754759285&fid=2185900163
二.安装arm linux gcc 4.3.2
1.复制arm-linux-gcc-4.3.2.tgz到根目录下tmp文件夹里
2.将文件解压到/usr/local目录下
解压命令tar xvzf arm-linux-gcc-4.3.2 -C /
注意以上命令必须要有-C而且是大写的,还有就是C与/之间有个空格
解压后的目录结构是这样的:/usr/local/arm/4.3.2
3.将路径/usr/local/arm/4.3.2/bin添加到环境变量PATH中
修改/root/.bashrc文件
#vim /root/.bashrc
在文件后面加上以下代码
export PATH=$PATH:/usr/local/arm/4.3.2/bin
为了保证成功还可以编辑/etc/profile文件
#vim /etc/profile
也是在后面加上以下代码
PATH=$PATH:/usr/local/arm/4.3.2/bin
保存后再执行命令
#source /etc/profile
使profile文件生效
4.测试安装是否成功
1)重启系统,输入命令
#arm-linux-gcc -v
如果安装成功将会输出 arm-linux-gcc的版本号
2)编译Hello World程序,测试交叉工具链
写下下面的Hello World程序,保存为hello.c
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
执行下面的命令:
# arm-linux-gcc -o hello hello.c
源程序有错误的话会有提示,没有任何提示的话,就是通过了,就可以下载到ARM目标板上运行了!
接着可以输入filehello的命令,查看生成的hello文件的类型,要注意的是生成的可执行文件只能在ARM体系下运行,不能在其于X86的PC机上运行。
三.遇到的问题
如果安装的64位的Ubuntu的话,执行
#arm-linux-gcc -v
会遇到/usr/local/arm/4.3.2/bin/arm-linux-gcc: line 3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc: No such file or directory的问题
这时只要安装32位的兼容库就行了
#sudo apt-get install libncurses5:i386
在64位下,gcc默认编译代码位64位的,但是,如果你想编译位的,可以用gcc -m32选项,来设置。
不过,不幸的是,会出现错误,说找不到 /usr/include/features.h文件什么的。google一下,发现用这种方法:
sudo apt-get install g++-multilib
就可以了。
四.参考资料
http://www.360doc.com/content/11/1211/13/1317564_171441865.shtml http://blog.csdn.net/doon/article/details/8053174 http://blog.csdn.net/fulinus/article/details/8648384 http://blog.sina.com.cn/s/blog_8f396e3701010hcx.html
相关文章推荐
- Ubuntu 12.04版本下安装交叉编译器arm-linux-gcc4.3.2
- ubuntu 12.04安装最新版本的nmap出现的几个问题
- ubuntu 12.04安装最新版本的nmap出现的几个问题
- ubuntu 12.04安装最新版本的nmap出现的几个问题分析
- 部分电脑安装升级 ubuntu 12.04 后无法挂起问题的解决(挂起无法唤醒同样有效)
- Ubuntu 12.04 下安装ssh 服务遇到的问题以及总结
- 给菜鸟的 Ubuntu 12.04安装VMware Workstation 8问题
- Ubuntu 12.04(x64) 配置Anroid开发环境相关问题
- ubuntu 12.04 安装相关包
- Y450 安装 Ubuntu 12.04 无线上网问题
- 关于Ubuntu下安装eclipse安装插件的相关问题
- Ubuntu安装CodeBlocks相关问题总结
- Ubuntu 12.04安装 iscsi服务遇到的问题
- U盘安装ubuntu 12.04-LTS-liveCD问题
- ubuntu 12.04 64位,安装mysql-workbench问题解决记录
- apt-get依赖库版本过高问题的解决(如何处理libqt4-dev在ubuntu的安装问题)
- Ubuntu中SVN客户端安装以及使用(12.04最新版本)
- Ubuntu 12.04 相关问题