我已经安装在我的系统 qt-windows-opensource-5.1.1-msvc2012-x86_64-offline
一切正常,但我不能在我的Qt项目中使用libCurl。
我已下载此版本的libcurl: http://curl.haxx.se/download/libcurl-7.19.3-win32-ssl-msvc.zip
MSVC metalink 7.19.3 devel SSL Frederic Elbin 4.04 MB
我已将包含文件夹从存档迁移到VC包含文件夹,并且我已将 #include 包含在程序中并且运行良好。
现在在lib文件夹上还有另外两个名字的文件夹:Debug和Release,两者都有一些文件。
在我的.pro文件中,我添加了:
win32: LIBS += -L$$PWD/../../../../../libcurl-7.19.3-win32-ssl-msvc/ -llibcurl_imp
INCLUDEPATH += $$PWD/../../../../../libcurl-7.19.3-win32-ssl-msvc
DEPENDPATH += $$PWD/../../../../../libcurl-7.19.3-win32-ssl-msvc
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../../../../libcurl-7.19.3-win32-ssl-msvc/lib/release/ -lcurllib
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../../../../libcurl-7.19.3-win32-ssl-msvc/lib/debug/ -lcurllib
INCLUDEPATH += $$PWD/../../../../../libcurl-7.19.3-win32-ssl-msvc/lib/Debug
DEPENDPATH += $$PWD/../../../../../libcurl-7.19.3-win32-ssl-msvc/lib/Debug
现在,当我尝试运行一个简单的程序时,我得到了:
mainwindow.obj:-1: error: LNK2019: unresolved external symbol __imp_curl_easy_init referenced in function "private: void __cdecl MainWindow::on_pushButton_clicked(void)" (?on_pushButton_clicked@MainWindow@@AEAAXXZ)
在下载的存档上还有更多其他文件:http://img13.imageshack.us/img13/1416/reh8.png
可能我现在包含libs很好(内部/外部或动态/静态),我不知道要包含哪个以及如何包含。还有一些.dll文件,我不知道该怎么做。
有人在Qt项目上成功使用了libcurl吗?我是Qt的初学者,这对我来说很难......
感谢。
答案 0 :(得分:2)
这可能不是您问题的答案,但我建议使用QNetworkAccessManager类而不是libcurl。您可以使用libcurl执行此类的任何操作。您的代码将更简单,更清晰。一些着名的基于Qt的全功能下载管理器使用这个类。
答案 1 :(得分:2)
好吧,我可以告诉我如何在QT中使用libCurl。如果somone再次遇到这个问题。 但我使用mingw版本,所以可能会有所不同。
在.pro文件中:
INCLUDEPATH += C:\Users\pagep\QT\curl-7.31.0-devel-mingw32\include
LIBS += C:\Users\pagep\QT\curl-7.31.0-devel-mingw32\lib\libcurldll.a
在“debug”文件夹(执行程序的文件夹)中,我从文件夹 curl-7.31.0-devel-mingw32 \ bin
添加了.dll文件libcurl.dll
libeay32.dll
libidn-11.dll
librtmp.dll
libssh2.dll
ssleay32.dll
zlib1.dll
嗯,它可能不是最好的解决方案,但它对我有用。 :)