我已经下载了 OpenSSL 二进制文件。我想在 Ubuntu 中为我的 C++ 程序创建一个静态库。 这意味着它们在同一目录中。
最佳答案
在链接时将-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/