This question already has answers here:
Use both static and dynamically linked libraries in gcc

(3个答案)


7年前关闭。




我有一个链接到许多库的应用程序,其中大多数库在我的机器上既可以用作静态库,也可以用作动态库。以下是ldd命令的输出。
linux-gate.so.1 =>  (0xffffe000)
libssl.so.0.9.8 => /usr/lib/libssl.so.0.9.8 (0xb782c000)
libc.so.6 => /lib/libc.so.6 (0xb76cc000)
libcrypto.so.0.9.8 => /usr/lib/libcrypto.so.0.9.8 (0xb755a000)
/lib/ld-linux.so.2 (0xb788d000)
libdl.so.2 => /lib/libdl.so.2 (0xb7555000)
libz.so.1 => /lib/libz.so.1 (0xb7540000)

我想静态链接libssl库,但是根据gcc文档,默认情况下它会动态链接每个库。告诉gcc静态链接特定库的方法是什么,即使它的动态版本也可以在系统上使用?

最佳答案

gcc具有-static标志。

09-25 16:28
查看更多