linux - 在没有c编译器的linux上安装gcc

标签 linux gcc

如何在没有任何 c 编译器的系统上安装 gcc? 该系统是基于linux的防火墙,没有任何c编译器。

最佳答案

我猜你有一个运行 Linux 和 shell 访问的设备,但既没有安装包管理器也没有安装编译器。

因此,您需要交叉编译 gcc 和整个工具链(至少是 binutils)——这很简单,因为 gcc、binutils、gdb 等的 ./configure 脚本支持交叉编译- 使用 --target= 选项进行编译。所以你所要做的就是找出目标架构(uname 帮助)然后下载,在 linux 主机上解压 gcc 源并运行 ./configure --target=$ YOUR_TARGET

有了这个,您现在可以构建一个交叉编译器 gcc - 它仍然在您的主机上运行,​​但会为您的目标(防火墙设备)生成二进制文件。

这对您来说可能已经足够了,典型的台式 PC 比典型的设备快得多,因此使用交叉编译器和交叉 binutils 在台式 PC 上编译您需要的一切可能是有意义的。

但是如果你真的想这样做,你现在也可以使用你的交叉编译器来编译一个在你的目标上运行的 gcc(将它设置为 --host= 选项)并为你的目标编译目标(将其设置为 --target 选项)。

您可以在 gcc 文档中找到有关允许的主机/目标和示例的详细信息:http://gcc.gnu.org/install/specific.html .

关于linux - 在没有c编译器的linux上安装gcc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3476439/

相关文章:

Linux 下载附加到文件的文件

python - 如何使用 Elementary os 在 Django 上创建项目?

c - OpenMP:当代码以普通用户身份运行时为 "libgomp: Thread creation failed: Resource temporarily unavailable"

c++ - “no user-provided default constructor”警告仅适用于gcc

c++ - 找不到新线程: generic error 64bit Ubuntu

linux - 事件.h : No such file or directory even when libevent-dev is installed

c++ - clang 如何引导 C/C++ 代码优化?

linux - 使用 sed 从给定文件中删除单词

linux - 构建 docker : opt/conda/bin/conda not found

linux - 两个 linux 命令之间有多少延迟?如果第一个运行 &