【问题标题】:Statically linked gcc静态链接的 gcc
【发布时间】:2016-12-12 11:30:57
【问题描述】:

有什么方法可以构建静态链接的 gcc 编译器吗?如果是,我应该使用哪些配置/制作标志?我希望得到 gcc 和 g++ 二进制文件 这应该是“不是动态可执行文件”(在使用 ldd 检查时 工具,例如)。

【问题讨论】:

  • 使用--static 标志是一个很好的起点。
  • 你检查过the documentation吗?你看到那些--enable-*--with-* 标志了吗?你知道你可以分别用--disable-*--without-* 来反转它们吗?
  • 你确定这是你想要的吗? 为什么?不只是您想使用 gcc 链接静态可执行文件吗?
  • 禁用所有共享选项是一个好的开始。然后使用例如可以使用--with-stage1-ldflags--with-boot-ldflags 设置链接器标志以静态链接。
  • @Someprogrammerdude 非常感谢!有效!你能把它变成答案吗?这里使用了配置标志:../configure --prefix=/home/myuser/soft/gcc-6.2.0/myusr/ --enable-multilib --enable-languages=c,c++ --disable-shared --禁用主机共享 --with-boot-ldflags=-static --with-stage1-ldflags=-static

标签: linux gcc makefile configure


【解决方案1】:

禁用所有共享选项是一个好的开始。然后使用例如可以使用--with-stage1-ldflags--with-boot-ldflags 设置链接器标志以静态链接。 – 一些程序员老兄

成功了!这里使用了配置标志:

../configure --prefix=/home/myuser/soft/gcc-6.2.0/myusr/ --enable-multilib --enable-languages=c,c++ --disable-shared --disable-host-shared --with-boot-ldflags=-static --with-stage1-ldflags=-static

– AccumPlus

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多