我正在尝试将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不是?
答案 0 :(得分:2)
将win32:LIBS += c:\MinGW\lib\libcurldll.a
添加到.pro
文件就可以了。
答案 1 :(得分:1)
Blarp。不要使用lib curl,Qt已经QNetworkAccessManager已经使用线程安全的Qt信号优雅地处理请求和响应。你需要的一切都已存在。