一尘不染

gcc中共享库函数的静态链接

linux

如何在gcc中静态链接共享库函数?


阅读 267

收藏
2020-06-02

共1个答案

一尘不染

参考:

http://www.linuxquestions.org/questions/linux-newbie-8/forcing-static-
linking-of-shared-
libraries-696714/

http://linux.derkeiler.com/Newsgroups/comp.os.linux.development.apps/2004-05/0436.html

您需要链接库的静态版本。

共享库实际上是具有指定入口点的特殊格式的可执行文件(包括一些粘性地址问题)。它没有静态链接所需的所有信息。

您不能静态链接共享库(或动态链接静态)

标志-static将强制链接器使用静态库(.a)而不是共享库(.so)。默认情况下,并非总是安装静态库。因此,如果您需要静态链接,则必须安装静态库。

另一种可能的方法是使用statifierErmine。两种工具均将动态链接的可执行文件作为输入,并以输出形式创建包含所有共享库的自包含可执行文件。

2020-06-02