使用libcurl和SCons C ++时出现问题

问题描述

| 我的问题与此非常相似: https://stackoverflow.com/questions/4351877/link-libcurl-library-using-scons 我有一个必须使用SCons进行编译的C ++程序,并且我正在尝试使用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 \”的引用 我已经在这个问题上停留了一个星期,知道如何解决这个问题吗?     

解决方法

这是一个链接错误,它的发生是因为您可能没有告诉链接程序将应用程序与libcurl链接,或者您没有指定正确的目录来找到它。 检查文档上的与库链接部分。 编辑: 在我做的一个小测试中,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
这正是您手动执行的操作。     ,那是一个链接器错误,与编译无关。您是否链接到curl库?     ,我自己从未使用过scons,但是我找到了这个链接,其中包含有关使用scons链接库的简短教程。 http://www.scons.org/doc/0.97/HTML/scons-user/x628.html 我希望这有帮助。