0
我正在嘗試構建一個在Windows中使用cUrl的Qt項目。我已經成功地將我的項目與libcUrl鏈接起來。在Windows中使用Qt Creator的libssh2
我正在使用Qt Creator 3.5.1,Qt 5.5.1,編譯MinGW 4.9.2 32位。
這裏是我的main.cpp(是的,我知道我錯過了全球清理,我只是試圖得到它的那一刻編譯):
#include "mainwindow.h"
#include <QApplication>
#include <curl/curl.h>
int main(int argc, char *argv[]) {
curl_global_init(CURL_GLOBAL_WIN32);
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
要獲得libcurl的工作,我已經添加以下到我的.pro文件:
INCLUDEPATH += C:\Libs\C\curl-7.45.0-win32-mingw\include
QMAKE_CXXFLAGS += -DCURL_STATICLIB
LIBS += C:\Libs\C\curl-7.45.0-win32-mingw\lib\libcurl.a
注意,添加-DCURL_STATICLIB解決錯誤,我在那裏我得到未定義的引用之前有:
C:\...\main.cpp:7: error: undefined reference to `_imp__curl_global_init'
不過現在我得到以下未定義refences:
C:\Libs\C\curl-7.45.0-win32-mingw\lib\libcurl.a(easy.o):-1: error: undefined reference to `libssh2_init'
C:\Libs\C\curl-7.45.0-win32-mingw\lib\libcurl.a(easy.o):-1: error: undefined reference to `libssh2_exit'
:-1: error: C:\Libs\C\curl-7.45.0-win32-mingw\lib\libcurl.a(easy.o): bad reloc address 0x0 in section `.data'
collect2.exe:-1: error: error: ld returned 1 exit status
我想我錯過了SSH2。我怎樣才能包括它?這之後還會出現其他的依賴關係嗎?
編輯:在.pro文件中添加LIBS += -lws2_32
。這刪除了以下3個錯誤。
C:\Libs\C\curl-7.45.0-win32-mingw\lib\libcurl.a(easy.o):-1: error: undefined reference to `[email protected]'
C:\Libs\C\curl-7.45.0-win32-mingw\lib\libcurl.a(easy.o):-1: error: undefined reference to `[email protected]'
C:\Libs\C\curl-7.45.0-win32-mingw\lib\libcurl.a(easy.o):-1: error: undefined reference to `[email protected]'