痛苦的版本对齐
近期在整理u-boot编译工具链,发现在windows下交叉编译工具链还是比较复杂。
1、toolchain —— 相关介绍的信息偏少。
重点关注:host要求(Linux、Windows、Windows+Cygwin),abi标准,gcc、binutils、glibc版本。
对于windows用户,Cygwin是一个较好的开发环境,但需要注意工具链的配合。
2、Windows下的cygwin环境(make、binutils、gcc等工具链)。
上面各个环节都需要对齐。
虽然,工作重点是u-boot,但需要注意以下事项,才能顺利编译版本:
1、需要注意 在 cygwin窗口下 和 windows cmd 窗口下的差异。
2、熟悉 cygwin 和 windows路径的表示差异。
3、对于 tar,tar.bz2 等文件,不要用 windows解压缩工具,要在 cygwin 下 使用 tar解压缩。
4、要记录相关工具的版本号
1)Cygwin版本,Cygwin下 make、gcc等相关工具的版本号 (cygwin是各个模块独立升级的)
2)交叉编译工具版本,包含 gcc、glibc or uClibc、binutils版本号(如果不会自己编译的交叉工具,可以作为整体记录版本号)
3)u-boot 基础版本号
4)器件厂商提供的u-boot 工程开发版本号。
技巧:
1、cygwin版本号
cygwin提供了cygcheck -c 检查cygwin安装的所有模块的版本号。
使用cygcheck -c cygwin 就能查询当前Cygwin的版本号。
2、gnu工具链版本
1)cygwin下编译环境 或 交叉编译工具链的版本,gcc -v, ld -v 等来显示
2)可以通过cygcheck 查看交叉编译工具 cc1.exe的 dll 引用关系是否正常。