2014-01-16 1 views
4

я имел следующие свертыванию заголовки, и я все еще мог установить libcurl4 пакеты, упомянутые выше-Разница между curl/curl.h, libcurl, libcurl4-openssl-dev, библиотеками libcurl4-nss-dev?

[email protected]:~$ 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 файлов?

я заметил следующие файлы после того, как я установил эти два пакета с помощью APT-получить в ubuntu-

/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, похоже, не работает.

+0

С «не работает», что вы подразумеваете под этим? Если у вас есть ошибки, отредактируйте свой вопрос, чтобы включить их. –

+0

Кроме того, попробуйте поместить список библиотек * после * источника, так, например, 'gcc nginx-isolated.c -lcurl'. –

+0

@JoachimPileborg: gcc не включал библиотеки curl. 'gcc nginx-isolated.c -lcurl' работал. :) Можете ли вы ответить на первую половину вопроса? Это «работает», но я до сих пор не понимаю его механику. – erbdex

ответ

7

Разные библиотеки libcurl4- * -dev - это libcurl, предназначенные для использования разных TLS-бэкендов. Они все еще предоставляют (почти) тот же API. Они являются взаимоисключающими, и вы связываетесь с libcurl с помощью «-lcurl» независимо от того, какой из этих пакетов вы устанавливаете.

curl/curl.h - это заголовочный файл и тот же, независимо от того, какой TLS-бэкэнд вы используете.

libcurl - это название библиотеки.

+0

Насколько правильно было бы утверждать, что' libcurl * -dev' пакеты являются обертками вокруг 'libcurl' и' curl.h', 'curlver.h' и т. д. являются заголовками библиотеки (libbuurl). – erbdex

+0

Это не совсем так. Я бы сказал, что libcurl * -dev - это пакеты, которые предоставляют разные экземпляры или ароматы libcurl. –

 Смежные вопросы

  • Нет связанных вопросов^_^