如何在没有任何c编译器的系统上安装gcc? 这个系统是linux基础防火墙,没有任何c编译器。
答案 0 :(得分:14)
我猜你有一个运行Linux和shell访问的设备,但是既没有安装包管理器也没有安装编译器。
所以,你需要交叉编译gcc和整个工具链(至少是binutils) - 这很简单,因为gcc,binutils,gdb等的./configure
脚本支持与{交叉编译{1}}选项。所以你要做的就是找出目标架构(--target=
帮助)然后下载,在linux-host上解压缩gcc源代码并运行uname
。
有了这个,您现在可以构建一个交叉编译器gcc - 它仍然可以在您的主机上运行,但会为您的目标生成二进制文件(防火墙设备)。
这对您来说已经足够了,典型的台式PC比典型的设备要快得多,因此使用交叉编译器和跨binutils在桌面PC上编译所需的一切可能是有意义的。
但如果您真的希望这样做,您现在也可以使用交叉编译器编译在目标上运行的gcc(将其设置为./configure --target=$YOUR_TARGET
选项)并为您的目标进行编译(将其设置为{ {1}}选项)。
您可以在gcc文档中找到有关允许的主机/目标和示例的详细信息:http://gcc.gnu.org/install/specific.html。
答案 1 :(得分:1)
这取决于分布,如果它是基于debian或其他一些大的,你可以通过apt-get或类似的工具安装gcc。
如果它是一个更基本的系统,你需要在另一台计算机上自己编译gcc并将其复制。如果你有另一台具有相同架构的计算机(例如i386,arm或x86_64),这将是最简单的。
我认为您可能也想静态编译它,这样您就不会依赖外部库。
答案 2 :(得分:0)
如果是基于debian的发行版,您可以使用
sudo apt-get install gcc
注意:也许您必须通过特定版本的debian软件包更改“gcc”。
答案 3 :(得分:0)
您如何计划将GCC加载到您的计算机上所需的所有源代码?你能将ISO映像挂载到这台机器上并从那里安装吗?
答案 4 :(得分:0)
由于您使用的是Endian防火墙,请参阅以下链接中的“构建开发框”: