c++ - 如何为我的程序创建静态库?

标签 c++ ubuntu openssl

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

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

最佳答案

在链接时将-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 上的精彩教程。

关于c++ - 如何为我的程序创建静态库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759975/

相关文章:

c++ - 当堆栈溢出发生时

c++ - 可嵌入的文档存储数据库

ubuntu - 右键单击弹出菜单在vscode中立即消失

c++ - 继承共享方法名的接口(interface)

c++ - 如何创建文件的 md5 或 sha1 校验和而不将其内容加载到内存?

ubuntu - gitolite - smart-http - 为 rc ("UMASK"提供未初始化的值)

Java邮件 : Read Email on Ubuntu

c - 使用 openssl 在 stdout RSA 公钥上打印

c - 在 C 中提取 DER 编码证书的公钥

python - 如何解决使用 PROTOCOL_TLSv1_2 的 SSL 错误?