【问题标题】:How can I create a static library for my program?如何为我的程序创建静态库?
【发布时间】:2012-07-30 09:24:40
【问题描述】:

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

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

【问题讨论】:

  • OpenSLL 静态库,还是另一个?
  • 你为什么不从 Ubuntu 静态链接 libssl.a
  • @larsmans 我该怎么做? :D

标签: c++ ubuntu openssl


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-25
    • 2021-12-01
    • 2021-02-26
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2013-05-04
    相关资源
    最近更新 更多