我开始使用C curl.h
库,在第一个示例中遇到编译问题。基于example given here,我正在尝试编译以下代码:
#include <curl/curl.h>
CURL *curl = curl_easy_init();
if(curl) {
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
使用此gcc
命令:
gcc curltest.c -lcurl
并收到此错误:
curltest.c:3:14: error: initializer element is not constant
CURL *curl = curl_easy_init();
^
curltest.c:4:1: error: expected identifier or ‘(’ before ‘if’
if(curl) {
^
有什么想法吗?
答案 0 :(得分:2)
你写什么:
#include <curl/curl.h>
CURL *curl = curl_easy_init();
让我相信您在全局级别上拥有所有这些代码(因此不在函数内)。在全局级别上,不能使用函数调用来初始化变量,也不能具有诸如if
之类的可执行语句。您需要在函数内部调用该函数,例如:
#include <curl/curl.h>
CURL *curl;
int main(void)
{
curl = curl_easy_init();
if (curl) {
//...
}