Проблема с использованием libcurl и SCons C ++ - PullRequest
1 голос
/ 25 мая 2011

Мой вопрос очень похож на этот: https://stackoverflow.com/questions/4351877/link-libcurl-library-using-scons

У меня есть программа на C ++, которую я должен скомпилировать с помощью SCons, и я пытаюсь использовать libcurl для отправки сообщений на сервер. Я связал библиотеки с этим:

#include "curl/curl.h"
#include "curl/types.h"
#include "curl/easy.h"

Проблема возникает здесь (код взят с основного сайта):

CURL *curl;
CURLcode res;
struct curl_httppost *formpost = NULL;
struct curl_httppost *lastptr = NULL;
struct curl_slist *headerlist = NULL;
static const char buf[] = "Expect:";
curl_global_init(CURL_GLOBAL_ALL);

Я получаю следующую ошибку при попытке компиляции: неопределенная ссылка на `curl_global_init '

Я застрял на этом уже неделю, есть идеи, как это исправить?

Ответы [ 3 ]

4 голосов
/ 25 мая 2011

Это ошибка ссылки, и это происходит потому, что вы, вероятно, не сказали компоновщику связать ваше приложение с libcurl , или вы не указали правильный каталог для его поиска.

Проверьте раздел Связывание с библиотеками в документации.

EDIT:

На небольшом тесте, который я сделал, SConstruct выглядит так:

Program('mycurl.c', LIBS='curl', 
                    LIBPATH=['/usr/lib', '/usr/local/lib'])

И компиляция с scons -Q завершается успешно и печатает:

gcc -o mycurl.o -c mycurl.c
gcc -o mycurl mycurl.o -L/usr/lib -L/usr/local/lib -lcurl

Это именно то, что вы бы сделали вручную.

0 голосов
/ 25 мая 2011

Я никогда не использовал scons самостоятельно, но я нашел эту ссылку с кратким руководством по связыванию в библиотеках с scons.

http://www.scons.org/doc/0.97/HTML/scons-user/x628.html

Надеюсь, это поможет.

0 голосов
/ 25 мая 2011

Это ошибка компоновщика, никак не связанная с компиляцией. Вы ссылаетесь на библиотеки curl?

...