在QT中链接libCurl会给出一大堆错误C ++

时间:2012-01-22 23:21:20

标签: c++ qt linker libcurl

我正在尝试将QT中的libCurl链接到Windows 7 x64上的C ++程序,但是当我尝试链接libcurldll.a时,我收到了大量错误。我尝试用GCC g++ -LC:\MinGW\lib -lcurldll编译一个类似的函数,它编译时没有错误。我在QT和GCC中使用以下代码。

void MainWindow::on_pushButton_2_clicked()
{
    CURL *curl;
    curl = curl_easy_init();
    curl_easy_setopt(curl, CURLOPT_URL, "http://google.com");
    curl_easy_perform(curl);
    curl_easy_cleanup(curl);
}

QT为我提供了一个我粘贴的大量错误列表here。一些关键错误是tlsthrd.c:-1: error: undefined reference to 'EnterCriticalSection@4'我在LIBS += -LC:\MinGW\lib -lcurldll文件中使用.pro将项目链接到curl库。知道为什么会这样吗?欢呼声。

编辑:经过深入研究后,似乎libmingw32.a出现了一些问题,提供了对用于多线程的函数的引用。我应该尝试替换库文件吗?如果是这样,为什么GCC使用相同的库文件正确编译但QT不是?

2 个答案:

答案 0 :(得分:2)

win32:LIBS += c:\MinGW\lib\libcurldll.a添加到.pro文件就可以了。

答案 1 :(得分:1)

Blarp。不要使用lib curl,Qt已经QNetworkAccessManager已经使用线程安全的Qt信号优雅地处理请求和响应。你需要的一切都已存在。