如何为程序创建静态库?

时间:2012-08-01 13:07:55

标签: c++ ubuntu openssl

我已经下载了OpenSSL二进制文件。我想在Ubuntu中为我的C ++程序创建一个静态库。 这意味着它们位于同一目录中。

http://www.openssl.org/source/

1 个答案:

答案 0 :(得分:2)

链接时将-static参数添加到gcc。我希望你想要没有任何动态加载库的静态二进制文件。在其他情况下,将libssl.a的完整路径作为目标文件添加到构建系统中的链接。您尚未指定如何构建应用程序。

手动,你会使用类似的东西:

gcc -o application yourcode.c yourcode2.c /usr/lib/libssl.a

或更好

gcc -static -o application yourcode.c yourcode2.c -lssl

在大多数情况下,为Linux下载二进制文件是个坏主意。如果你想要静态二进制文件,这应该有帮助。如果您需要自定义构建具有特殊功能的库,则需要自己从源代码下载并构建该库。

无论如何,在Static link of shared library function in gcc处回答了与您类似的问题。 您还可以检查Linux static linking is dead?以发现甚至可能考虑静态链接存在太多问题。

如果您需要有关Linux下链接的更多信息,请查看http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html

上的精彩教程