首页 > 编程知识 正文

联合编译多个java类(iTOP4412交叉编译器构建)

时间:2023-05-06 08:36:53 阅读:122694 作者:4835

嵌入式开发离不开交叉编译器。 虽然可以从internet下载交叉编译器,但在某些情况下,可能需要构建自己配置的交叉编译器。 本节介绍如何在crosstool-ng中构建自己的交叉编译工具链。 http://crosstool-ng.github.io/docs /请参考这里的说明进行构建。 构建交叉编译器的总结如下

运行mkdir crosstool-ng创建crosstool-ng文件夹,以及crosstool-ng网络管理http://crosstool-ng.github.io/最新版本的分发文件压缩包

2 .使用tarxvjfcrosstool-ng-1.24.0.tar.bz2命令解压缩文件以获得crosstool-ng-1.24.0文件夹,然后在crosstool-ng目录下单击

进入crosstool-ng-1.24.0文件夹,配置编译和安装crosstool-ng

3.1在进行配置之前,运行./bootstrap。 此时,如果错误消息中缺少这些工具,则可以运行sudo yumprovides xxx来决定要安装的软件包。 xxx是缺少错误信息的工具

3.2./configure-- prefix=` pwd `/./crosstool-ng-install运行配置,编译crosstool-ng,最终目录中

3.3 make install之后,crosstool-ng-install文件夹下有很多日光睫毛膏、libexec和share三个文件夹。 其中日光的睫毛膏目录下有ct-ng文件。 必须将名为日光睫毛膏的路径的环境变量添加到用户目录下. bashrc文件的PATH中。 例如

导出路径=/home/test/project/crosstool-ng/crosstool-ng-install /阳光睫毛膏:$PATH,然后运行source~/

返回到crosstool-ng目录下的crosstool-ng-tarballs目录和crosstool-ng-target目录。 每一个都保存用于保存通过构建交叉编译过程下载的源压缩包的路径,以及用于保存最终生成的交叉编译器的路径

5 .前面都是为构建交叉编译器做准备,接下来是真正构建交叉编译器。 必须运行ct-ng menuconfig进行配置。 首先可以运行ct-ng list-samples,确认crosstool-ng具有的配置

看到这些,首先需要说明交叉编译器的命名规则。 交叉编译器以arch[-vendor][-OS][-GNU]eabi]格式命名。

这里,arch代表目标主机的架构,例如,如果iTOP4412是arm架构则为arm;

vendor代表工具链供应商。 如果这是我们自己构建的,那就是none或unknown

操作系统表示交叉编译器支持的操作系统,它与编译时的基于链接有关,我们的内置通常使用Linux系统的基于链接

-(gnu ) eabi gnu是GNU操作系统的含义,eabi )嵌入式应用程序接口) )。

根据交叉编译器命名约定,可以确定上述arm-unknown-linux-gnueabi配置最接近我们的需求

6 .执行6.CT-ngarm-unknown-linux-gnueabi和crosstool-ng附带的arm-unknown-Linux-gnueabi的默认配置

要运行ct-ng menuconfig进行图元放置,必须使用上下左右键进行选择,然后使用enter键或空格键进行选择

7.1设置在构建交叉编译器期间下载源压缩包的路径,以及最终生成交叉编译器的路径

7.2配置体系结构、大小、cpu位数、浮点运算选项

7.3配置Linux内核版本

7.4glibc版本配置

7.5配置gcc版本,u-boot-2013仅支持gcc3和gcc4

7.6配置完成后,选择save保存配置项,最终保存到当前目录下的. config文件中,然后跳转到Exit退出

8 .配置完成后,运行ct-ng build进行编译。 这个编译过程相对较长,时间取决于个人网络和主机的配置,在编译过程中可能会报告错误。 需要查看当前目录下的build.log文件以确定错误的原因并纠正错误。 通常,可以是源包下载问题,也可以直接下载源包并放置在crosstool-ng-tarballs目录中

9 .编译完成后,crosstool-ng-target目录中将显示以下文件

其中包括交叉编译器命令行、头文件和链接库等。 如果需要使用此交叉编译器,则必须将crosstool-ng-target下阳光的睫毛膏目录添加到用户目录下的PATH环境变量中。 例如,导出路径=/home/test/project/crosstool-ng/crosstool-ng-install /日光睫毛膏:/opt/crosstool-ng-ng

10 .设置环境变量后,在终端上键入arm,然后按tab键查看所有交叉编译器的命令集

以上就是crosstool-ng构建交叉编译器的过程。 如果有错误的地方请指出来。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。