开发者

Static linking libcurl using c

I am using Libcurl in my application with C and GNU compiler on a linux machine. Application also uses OpenSSL libraries and some other libraries. I am trying to statically link the libraries, except for lcurl linking with other libraries works fine.

I am trying to compile as below.

gcc -static -I. -o te开发者_JAVA百科st test.c -lz -lssl -lcrypto -lcurl

Am I doing anything wrong? Is there a way to force static linking of some librairies (libc for exemple) ?


Libcurl is itself linked against a ton of other libraries, most of which aren't included in your compile command line. For instance, mine (on Debian Squeeze) links against:

  • 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

(You can get a similar list for yourself by running ldd on the library on Linux, or otool -L on Darwin.)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜