This question already has answers here:
Use both static and dynamically linked libraries in gcc
(3个答案)
7年前关闭。
我有一个链接到许多库的应用程序,其中大多数库在我的机器上既可以用作静态库,也可以用作动态库。以下是
我想静态链接libssl库,但是根据gcc文档,默认情况下它会动态链接每个库。告诉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标志。