0

我目前在 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 指定的路径中添加了 libcurl.a,并将 libcurl.dll 放入 C:\Windows\System32。

4

2 回答 2

1

*.a 不用于 Windows 二进制文件,将 libcurl_imp.lib 放入 -L 路径并使用 -lcurl_imp 。尝试不带 -DCURL_STATICLIB 的链接共享库

于 2013-04-22T08:34:23.083 回答
0

首先转到属性 > 配置属性 > VC++ 目录 > 包含目录。在这里,在解压后的 Libcurl 文件的包含目录中添加 curl 目录(C:\ ... \libcurl-7.19.3-win32-ssl-msvc\include\curl)。

转到 VC++ 目录 > 库目录。添加包含 curllib_static.lib、curllib.dll 和 curllib.lib 的 Debug 目录(C:\Users\Édouard\Documents\Visual Studio 2010\LibCurl\lib\Debug)。

仍在配置属性中,转到链接器 > 输入 > 附加依赖项。在这里,您必须添加 curllib.lib 文件(C:\ ... \lib\Debug\curllib.lib)。最多输入 lib 文件的名称。

下一步包括在项目的 Debug 目录中添加 curllib.dll、libeay32.dll、openldap.dll 和 ssleay32.dll。所有这些都可以在 Libcurl 的根目录中找到。

于 2013-04-22T12:42:51.767 回答