当前位置:  开发笔记 > 运维 > 正文

如何静态链接复杂的程序

如何解决《如何静态链接复杂的程序》经验,为你挑选了2个好方法。

在Linux中,下载了一个程序源,并希望它是静态链接的.我有一个巨大的Makefile

./configure
make

编译.prehpes它有点太笼统,但我怎么能使二进制静态链接?

编辑:这样做的原因是为了确保二进制文件没有依赖关系(或者至少尽可能少),使得可以在任何基于Linux的计算机上运行,​​即使没有Internet连接的计算机,也可以运行非更新的Linux.



1> eduffy..:

大多数autoconf生成的configure脚本都允许您进行静态构建:

 ./configure --enable-static
 make

如果这不起作用,您可以在via中传递链接器标志LDFLAGS,如下所示:

 ./configure LDFLAGS=-static


在CentOS上,您需要为静态链接安装的软件包是`glibc-static`用于c和`libstdc ++ - static`用于c ++静态链接.有关详细信息,请参阅[此帖子](https://www.systutorials.com/5217/how-to-statically-link-c-and-c-programs-on-linux-with-gcc/)

2> Byron Whitlo..:

是的,您需要编辑make文件并在链接期间将-static参数添加到gcc.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有