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

下载 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
    评论
Ubuntu是一种基于Linux的操作系统,而crosstool-ng是一个工具链生成工具。这个工具允许用户在Ubuntu操作系统上生成交叉编译工具链,从而能够在一个平台上为不同的目标体系结构编译构建软件。 使用crosstool-ng可以为各种不同的目标体系结构生成交叉编译工具链,包括ARM、MIPS、PowerPC等。生成的工具链包含了一个交叉编译器、库和头文件,可以用来编译构建适用于特定目标体系结构的应用程序。 Ubuntu的用户可以通过安装crosstool-ng并按照相应的文档和指南进行设置和配置。首先,用户需要在Ubuntu上安装和配置必要的开发工具和依赖项,然后从crosstool-ng的官方网站下载最新的源代码并进行编译和安装。 安装完成后,用户需要使用crosstool-ng提供的配置文件进行配置和设置。用户可以选择合适的目标体系结构,并选择所需的版本和选项。之后,用户可以运行crosstool-ng来生成交叉编译工具链。 一旦工具链生成完成,用户就可以使用它来编译构建适用于特定目标体系结构的应用程序。用户可以在Ubuntu上开发应用程序,并将其交叉编译为可在其他平台上运行的可执行文件。 总之,Ubuntu和crosstool-ng的结合为用户提供了一个方便而强大的工具,使他们能够在Ubuntu上生成适用于不同目标体系结构的交叉编译工具链,并开发多平台的应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值