制作 Linux 交叉编译工具链

jc39
jc39
发布于 2026-03-02 / 6 阅读
0
0

制作 Linux 交叉编译工具链

基于版本:crosstool-ng-1.27.0

编译环境:Kylin V10 SP2 GCC 7.3.0

编译工具

sudo yum install bison flex glibc-static gperf help2man libstdc++-static libtool texinfo

tar -Jxf crosstool-ng-1.27.0.tar.xz
cd crosstool-ng-1.27.0/

./bootstrap
./configure --enable-local
make -j4

配置工具

# 开始配置
./ct-ng menuconfig
# 关键配置
Paths and misc options ->
    Local tarballs directory (本地包目录, 默认在 ${HOME}/src, 必须存在才有效)
    Prefix directory (生成目录前缀, 默认在 ${HOME}/x-tools/${CT_TARGET})
Target options ->
    Target Architecture (目标架构)
    Endianness (大/小端)
    Bitness (32/64 位)
Toolchain options ->
    Tuple's vendor string (厂商名称)
Operating System ->
    Target OS (目标系统)
    Version of linux (linux 版本, uname -a 查看)
Binary utilities ->
    Version of binutils (binutils 版本, ld --version 查看)
C-library ->
    C library (C 库)
    Version of glibc (glibc 版本, ldd --version 查看)
C compiler ->
    Compiler (编译器)
    Version of gcc (gcc 版本, gcc --version 查看)
    Compile libsanitizer (asan 支持)
    C++ (开启 C++ 支持)

开始构建

# 清空 ./.build/
./ct-ng build.clean
# 开始构建, 会下载源码包, 可能要挂梯子
# 有些包下载失败, 可以手动放到 ./.build/tarballs/ 里
./ct-ng build

其他

构建 GCC 4.8.5 的交叉编译工具链

可用版本是 crosstool-ng-1.22.0,编译环境是 CentOS 7 GCC Red Hat 4.8.5-44


评论