我已经下载了OpenSSL二进制文件。我想在Ubuntu中为我的C++程序创建一个静态库。 这意味着它们在同一个目录中。如何为我的程序创建一个静态库?
http://www.openssl.org/source/
我已经下载了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
的OpenSLL静态库,或者另外一个检查不错的教程? – Linuxios 2012-08-01 13:17:25
@Linuxios更新了链接 – mister 2012-08-01 13:48:34
为什么不从Ubuntu静态链接'libssl.a'? – 2012-08-01 13:51:08