2015-11-01 4 views
0

Я пытаюсь построить проект Qt, который использует cUrl в Windows. Мне удалось успешно связать мой проект с libcUrl.libssh2 в Windows с помощью Qt Creator

Я использую 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. Как я могу включить это? Какие другие зависимости появятся после этого?

EDIT: Добавлено LIBS += -lws2_32 в .pro файл. Это устранило следующие 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]' 

ответ

0

Это довольно чудовищная боль.

Я закончил загрузку источника libcurl, восстановление без ssh2, а затем включив -lwldap32 также, я, наконец, получил его для сборки без ошибок.

Однако код, который преуспевает в Linux, не работает в Windows.

Смежные вопросы