crosstool-ng制作ok6410开发板的交叉编译库
一、 首先编译安装crosstool-ng工具
编译安装流程:
https://blog.csdn.net/code_back/article/details/107749573
二、制作流程
- 建立一个制作交叉编译工具的目录crosstool
-
ct-ng list-samples
查看crosstoll-ng工具支持制作哪些工具模块,如下图所示:
这里选择arm-unknown-linux-gnueabi,通过执行ct-ng arm-unknown-linux-gnueabi
命令生成对应的config文件。
3. 配置
执行ct-ng menuconfig
命令进入配置页面
1)路径配置:
• Local tarballs directory:指定制作编译器所需要的源码包的下载存放目录这里设置为/home/ok6410/Desktop/ok6410/crosstool/src。
• Debug crosstool-NG:选择Debug crosstool-NG,会多出一个子菜单,选中Save intermediate steps,此选项提供一个从上一步错误的地方继续编译,而不是从新编译,这样节约大量的时间。
• Number of parallel jobs:这个菜单需要下拉才能看到此项为增加编译时的并行进程数,以增加运行速度,加速编译。如选择三个进程:选择(3)Number of parallel jobs。(我虚拟机环境下,速度还是没有提升)
2)平台配置
进入Target option
Target Architecture设置为Arm
Default instruction set mode 设置为arm
Architecture level 设置为 armv6;
Emit assembly for cpu 设置为 arm1176jzf-s
Use specific FPU 设置为 vfp
Floating point 改为 hardware (FPU)(这里我没设置)
3)工具链配置
进入Toolchain option
• Tuple’s vendor string:供应商字符串,若设置为none,则编译后的工具链名字为arm-none-linux-gnueabi。
• Tuple’s alias:工具链的别名,若设置为arm-linux,则编译后会建立工具链的软连接,命名为arm-linux-xx。
其他配置保持默认
- 编译
执行ct-ng build
开始编译
注意 磁盘剩余空间必须大于10GB否者可能编译失败
编译时间大约1个半小时,期间会下载依赖库文件,如果下载失败可手动下载存放目录为
/home/ok6410/Desktop/ok6410/crosstool/build/.build.tarballs
- 编译输出目录为
/home/x-tool
参考这个帖子
https://blog.csdn.net/HumorRat/article/details/5615298
上一篇: VS2013动态库dll的创建和调用