c语言 - 库库尔问题 - "initializer element is not constant"



我正在接触 C curl.h 库,并且在第一个示例中面临编译问题。根据这里给出的示例,我正在尝试编译以下代码:

#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) {
 ^

知道出了什么问题吗?

你写的:

#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) {
        //...
}

相关内容

最新更新