0

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

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

4

1 回答 1

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 下载二进制文件是个坏主意。如果您想要静态二进制文件,这应该会有所帮助。如果您需要自定义构建具有特殊功能的库,您需要自己从源下载并构建该库。

无论如何,在 gcc 中共享库函数的静态链接中回答了与您类似的问题。 您还可以检查Linux 静态链接是否已失效?发现可能有太多问题甚至无法考虑静态链接。

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

于 2012-08-01T14:50:07.237 回答