我目前在Windows 7 x64上编译C ++程序时遇到问题。
我无法以各种方式编译:
undefined reference to `curl_easy_init'
undefined reference to `curl_easy_setopt'
undefined reference to `curl_easy_setopt'
undefined reference to `curl_easy_perform'
undefined reference to `curl_easy_strerror'
undefined reference to `curl_easy_cleanup'
守则本身:
#include <curl/curl.h>
int main(int argc, char** argv)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl)
{
curl_easy_setopt(curl, CURLOPT_URL, "http://steamcommunity.com");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
{
fprintf(stderr, "curl_easy_perform() failed %s\n", curl_easy_strerror(res));
}
curl_easy_cleanup(curl);
}
else
{
}
return 0;
}
我正在编译:
g++ -DCURL_STATICLIB -g -o curlprogram curlprogram.cpp -LJ:\Projektpath -lcurl
我在-L指定的Path中添加了libcurl.a,并将libcurl.dll放入C:\ Windows \ System32。
答案 0 :(得分:1)
* .a不用于Windows二进制文件,将libcurl_imp.lib放入-L路径并使用-lcurl_imp。尝试不使用-DCURL_STATICLIB的链接共享库
答案 1 :(得分:0)
首先转到属性&gt;配置属性&gt; VC ++目录&gt;包括目录。在这里,添加要在解压缩的Libcurl文件的include目录中找到的curl目录(C:\ ... \ libcurl-7.19.3-win32-ssl-msvc \ include \ curl)。
转到VC ++目录&gt;图书馆目录。添加包含curllib_static.lib,curllib.dll和curllib.lib的调试目录(C:\ Users \Édouard\ Documents \ Visual Studio 2010 \ LibCurl \ lib \ Debug)。
仍然在配置属性中,转到链接器&gt;输入&gt;额外的依赖关系。在这里,您必须添加curllib.lib文件(C:\ ... \ lib \ Debug \ curllib.lib)。输入lib文件的名称。
下一步是在项目的Debug目录中添加curllib.dll,libeay32.dll,openldap.dll和ssleay32.dll。所有这些都可以在Libcurl的根目录中找到。