我正在尝试在Ubuntu上的Codeblocks 16.01中编译此代码,但它返回错误消息未定义引用'curl_easy_init'。
但是当我在终端gcc -L/usr/lib/x86_64-linux-gnu main.c -o curl -lcurl
中运行时,不会返回任何错误。
我该如何解决这个问题?
#include <stdio.h>
#include <curl/curl.h>
void fileUpload()
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL,"http://test1:test1@www.idehn.tec.ac.cr/geoserver/rest/layers.xml");
/* example.com is redirected, so we tell libcurl to follow redirection */
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
FILE* file = fopen( "layers.txt", "w");
curl_easy_setopt( curl, CURLOPT_WRITEDATA, file) ;
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
/* always cleanup */
curl_easy_cleanup(curl);
fclose(file);
}
}
int main() {
//Call to the method that charge the url content to a file with all the layers.
fileUpload();
return 0;
}
答案 0 :(得分:0)
我认为您已忘记告诉代码块与libcurl
链接:
curl