我有下面的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-devlibcurl4-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是库的名称。

08-04 21:32