我有下面的curl头,我仍然可以安装上面提到的libcurl4包-
kafka@metamorphosis:~$ ll /usr/include/curl/
total 200
drwxr-xr-x 2 root root 4096 Jan 16 13:29 ./
drwxr-xr-x 51 root root 20480 Jan 16 13:29 ../
-rw-r--r-- 1 root root 7303 Dec 18 01:11 curlbuild.h
-rw-r--r-- 1 root root 83928 Dec 18 01:11 curl.h
-rw-r--r-- 1 root root 8934 Dec 18 01:11 curlrules.h
-rw-r--r-- 1 root root 2741 Dec 18 01:11 curlver.h
-rw-r--r-- 1 root root 3472 Dec 18 01:11 easy.h
-rw-r--r-- 1 root root 2790 Dec 18 01:11 mprintf.h
-rw-r--r-- 1 root root 13836 Dec 18 01:11 multi.h
-rw-r--r-- 1 root root 1330 Dec 18 01:11 stdcheaders.h
-rw-r--r-- 1 root root 36918 Dec 18 01:11 typecheck-gcc.h
libcurl4-openssl-dev
和libcurl4-nss-dev
彼此之间以及与这些curl.h文件之间有何不同?在ubuntu中使用apt-get安装这两个包之后,我注意到以下文件-
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.3
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4.3.0
/usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
/usr/lib/x86_64-linux-gnu/libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl.la
/usr/lib/x86_64-linux-gnu/libcurl.so.3
/usr/lib/x86_64-linux-gnu/libcurl.a
/usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so
/usr/lib/x86_64-linux-gnu/pkgconfig/libcurl.pc
现在,如果我有一个像-
#include<curl/curl.h>
这样的行的程序,我该如何编译它呢?gcc -L /usr/include/curl/ -lcurl nginx-isolated.c
似乎不起作用。 最佳答案
不同的libcurl4-*-dev包是libcurl,它是为使用不同的tls后端而构建的。它们仍然(几乎)提供相同的api。它们是互斥的,无论安装哪一个包,都可以使用“-lcurl”链接libcurl。
curl/curl.h是一个头文件,无论您使用哪个tls后端都是相同的。
libcurl是库的名称。