使用c静态链接libcurl

我在我的应用程序中使用Libcurl与Linux机器上的C和GNU编译器.
应用程序还使用OpenSSL库和一些其他库.我试图静态链接库,除了lcurl链接与其他库工作正常.

我想编译如下.

gcc -static -I. -o test test.c -lz -lssl -lcrypto -lcurl

我做错了吗?
有没有办法强制一些库的静态链接(例如libc)?

最佳答案
Libcurl本身与大量其他库相关联,其中大多数库未包含在您的编译命令行中.例如,我的(在Debian Squeeze上)链接:

> libc
> libcom_err
> libcrypto
> libdl
> libgcrypt
> libgnutls
> libgpg-error
> libgssapi_krb5
> libidn
> libk5crypto
> libkeyutils
> libkrb5
> libkrb5support
> liblber-2.4
> libldap_r-2.4
> libpthread
> libresolv
> librt
> libsasl2
> libssh2
> libssl
> libtasn1
> libz

(你可以通过在Linux上运行ldd或者在Darwin上运行otool -L来获得类似的列表.)

转载注明原文:使用c静态链接libcurl - 代码日志