Crosstool-ng编译及构建交叉编译器出错及解决办法

本文详细介绍了如何下载和安装crosstool-NG,包括解决libtool和libstdc++的依赖问题,以及配置和构建交叉编译器的过程。在构建过程中可能遇到的错误,如缺失C++编译器,也提供了相应的解决方案。
摘要由CSDN通过智能技术生成

下载 crosstool-NG源码

运行以下命令时,可先进入想下载安装目录。

$ git clone https://github.com/crosstool-ng/crosstool-ng
$ cd crosstool-ng/

构建并安装crosstool-NG

$ ./bootstrap
$ ./configure --prefix=${PWD}
$ make
$ make install
常见问题
checking for GNU libtool >= 2.4... no
configure: error: Required tool not found: libtool

安装libtool仍然无效
此时应该安装libtool-bin

$ sudo apt install libtool-bin

配置corsstool-NG

查看可构建的交叉编译器

$ ct-ng list-samples

使用aarch64-rpi4-linux-gnu编译器

$ ct-ng aarch64-rpi4-linux-gnu

构建工具链

$ ct-ng build

常见问题

Build failed in step ‘Checking that gcc can statically link libstdc++ (CT_WANTS_STATIC_LINK_CXX)’

只需要安装libstdc+±11-dev(这里的11与gcc 版本对应,我本机gcc为gcc-11版本。可通过gcc -v查看)

$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
···
Supported LTO compression algorithms: zlib zstd
gcc version 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
$
$
$sudo apt install libstdc++-11-dev

如果gcc版本不同则安装不同的libstdc+±11-dev,比如,如果gcc版本为12,则安装libstdc+±12-dev

[ERROR] configure: error: C++ compiler not available, see config.log for details

缺少C++编译器安装即可

sudo apt install g++
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值