linux 编译器制作,linux下交叉编译器制作

目前我用的交叉编译器是TQ2440配套光盘中制作好了的,解压后需要如下配置:

1.对于Fedora系统:修改/etc/profile文件,在其中添加交叉编译器的环境变量的设置。

对于Ubuntu系统,修改/etc/enviroment文件

2.我用的是Fedora系统,修改PATH值,在其后添加上交叉编译器的路径,添加pathmunge /opt/EmbedSky/4.3.3/bin

对于Ubuntu系统,修改PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/EmbedSky/4.3.3/bin"

3.source /etc/profile使其生效,注意:只是当前终端生效,建议重启系统。

在开发过程中,经常遇到-/bin/sh:xx(命令) not found的错误,一般情况下这种错误是缺少动态库造成的。在编译时也是需要相应的动态库的。

下面以libjpeg为例说明如何构建自己的交叉编译器。

1.首先下载libjpeg源码:libjpeg-turbo-1.2.1.tar.gz

2.解压源码:tar xzf libjpeg-turbo-1.2.1.tar.gz

3.进入源码目录:cd libjpeg-turbo-1.2.1

4.新建tmp目录,用于存放编译好的libjpeg文件:mkdir tmp

5.配置:./configure --prefix=/work/projects/13.libjpeg/libjpeg-turbo-1.2.1/tmp/ --host=arm-linux,其中--prefix用于指定编译到的目录,--host用于指定编译器

6.编译:make

7.安装:make install,安装完成后,在刚才创建的tmp目录下有bin、incluide、lib等目录

8.将编译出来的include目录下的所有文件拷贝到交叉编译工具的include目录下,我的是/opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/libc/usr/include/目录

9.将编译出来的lib目录下的所有so文件拷贝到lib目录下,我的是/opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/libc/armv4t/lib/目录

10.将编译出来的lib目录下的所有so文件拷贝到文件系统中,因为应用程序运行时需要相应的库。

原文:http://www.cnblogs.com/zpehome/p/3807260.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值