Programare Qt - Cum folosim librarii

Acest forum este dedicat intrebarilor de programare care nu-si au locul in unul din celelalte forumuri
Post Reply
User avatar
curiosul
Junior
Junior
Posts: 46
Joined: 18 Aug 2010, 20:20
Judet: Iaşi
Contact:

Programare Qt - Cum folosim librarii

Post by curiosul » 20 Oct 2013, 14:38

Salutare!

De curand m-am apucat de programare folosind framework-ul Qt pentru interfecte pentru utilizator. Toate bune si frumoase dar intampin niste probleme:
Folosesc Qt Creator 5.1.1 iar ca si compilator cel de la VC2012.

Pe partea de retea as vrea sa folosesc librariile celor de la cURL. Poblema apare practic atunci cand incerc sa folosesc cURL-ul. Pur si simplu nu am habar cum sa includ librariile si/sau fisierele .dll.
Am mutat fisierele header la locul lor si mi le vede in program cum trebuie ca sa le pot include.

Cand descarc arhiva care contine fisierele pentru cURL acolo mai sunt o gramada de fisiere .dll si .lib. Ceea ce nu stiu eu este unde sa bag fisierele dll si cum sa includ librariile (statice/dinamice) .

Am adaugat in fisierul proiect:

Code: Select all

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
Dar degeaba, caci primesc:
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)

Am mai postat si pe qt-centre, qtproject, stackoverflow si chiar la qt-centre jobs pentru a plati pe cineva sa ma invete chestiile astea dar nu am primit nici-un raspuns in nici-o parte ... si am zis sa vin la voi, poate poate... .

Poate ma scoate cineva din ceata care e treaba cu fiisierele .dll si cele .lib.


Cea mai buna batalie este cea castigata fara lupta.

User avatar
bu7ch3r
Membru++
Membru++
Posts: 326
Joined: 17 May 2011, 15:17
Judet: Iaşi
Location: Sofia
Contact:

Re: Programare Qt - Cum folosim librarii

Post by bu7ch3r » 20 Oct 2013, 21:46

Asa: http://qt-project.org/doc/qtcreator-2.6 ... aries.html

Sunt cam incurcate incluziunile tale. Pe windows cred ca poti sa pui LIBS+=/PATH/numelib.lib.

Dupa ce compilezi, pe langa armata de dll-uri de la QT trebuie sa pui si dll-urile de la curl.

Dar...QT are wrapper pentru curl - QUrl(daca ai QT 5.0). Mai are si QNetworkAccessManager si QHttp(astia sunt fratii mai mici ai lui QUrl). Am folosit QNAM si n-am avut mari probleme(faceam post si get la un script in php de pe nush ce server - cred ca asta vrei sa faci si tu cu curl...). Sa nu uiti sa-ti pui in pro modulul pe care vrei sa-l folosesti:

EX: QT += core gui sql network //network e pt QNAM, sql pt qsqlite de ex core si gui sunt evidente :)
Cu stima,
Lupu Claudiu

User avatar
curiosul
Junior
Junior
Posts: 46
Joined: 18 Aug 2010, 20:20
Judet: Iaşi
Contact:

Re: Programare Qt - Cum folosim librarii

Post by curiosul » 21 Oct 2013, 22:58

Am reusit sa includ ceva si nu prea:
Pentru orice functie as incerca sa folosesc din cURL primesc:

Code: Select all

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)
Iar google ma duce dupa eroarea asta tot pe topicuri postate de mine la cei de la qt.... .

Am copiat fisierele dll + lib in folderul Debug si Release.
Ceea ce am facut a fost sa adaug pe rand .lib-urile in pro prin Add Library >> External ... .

Ce gresesc totusi?
Cea mai buna batalie este cea castigata fara lupta.

User avatar
bu7ch3r
Membru++
Membru++
Posts: 326
Joined: 17 May 2011, 15:17
Judet: Iaşi
Location: Sofia
Contact:

Re: Programare Qt - Cum folosim librarii

Post by bu7ch3r » 22 Oct 2013, 01:03

Nu pui path-ul corect cu siguranta. Pune c:/..../licurl.a sau cum se cheama libul tau.

Daca o sa-l faci sa mearga pana la urma incearca sa nu uiti de QNAM :D
Cu stima,
Lupu Claudiu

User avatar
curiosul
Junior
Junior
Posts: 46
Joined: 18 Aug 2010, 20:20
Judet: Iaşi
Contact:

Re: Programare Qt - Cum folosim librarii

Post by curiosul » 22 Oct 2013, 17:21

Am adaugat eu manual in fisierul .pro

Code: Select all

LIBS+= c:/libcurl/curllib.lib
Dar degeaba... primesc asta:

Code: Select all

:-1: error: LNK1104: cannot open file 'c:/libcurl/curllib.LIBS'
si pe deasupra imi mai adauga LIBS in eroare, dar extensia este de fapt .lib

Cat despre QNAM...daca nu rezolv nici acuma cu libcurl am sa vad... .
Dar pe viitoar daca o sa fie o librarie chiar necesara? Fara QAlternativa? Pe aia cum o sa o includ?
Cea mai buna batalie este cea castigata fara lupta.

User avatar
bu7ch3r
Membru++
Membru++
Posts: 326
Joined: 17 May 2011, 15:17
Judet: Iaşi
Location: Sofia
Contact:

Re: Programare Qt - Cum folosim librarii

Post by bu7ch3r » 22 Oct 2013, 19:53

Da-i cu ghilimele.
Cu stima,
Lupu Claudiu

User avatar
curiosul
Junior
Junior
Posts: 46
Joined: 18 Aug 2010, 20:20
Judet: Iaşi
Contact:

Re: Programare Qt - Cum folosim librarii

Post by curiosul » 24 Oct 2013, 13:03

Nu vrea, nu vrea si nu vrea :reallymad: :suicide:

Am inclus librariirlw toate cum ai zis cu ghilimele si le-a luat. Dar inca primesc acea eroare cu "Unresolved externals..." care din ce am vazut pe net este din cauza legatucii cu librariile.

Ce as putea sa mai fac?
Cea mai buna batalie este cea castigata fara lupta.

malik378
Junior
Junior
Posts: 1
Joined: 21 Jan 2014, 15:34
Judet: Bihor

Re: Programare Qt - Cum folosim librarii

Post by malik378 » 21 Jan 2014, 15:40

As dori sa prezint "Realizare Imposibilului", o scurta poveste care poate sa inspire pe altii despre
cum se poate ca fara studii de specialitate, fara a vorbi cu nimeni, fara a obtine nici un ajutor
si aproape fara nici un ban, sa ajungi la nivel mondial intr-un domeniu de cercetare de varf si

User avatar
MarianMMX
Junior
Junior
Posts: 16
Joined: 27 Mar 2014, 09:50
Judet: Galaţi

Re: Programare Qt - Cum folosim librarii

Post by MarianMMX » 27 Mar 2014, 09:57

curiosul wrote:Nu vrea, nu vrea si nu vrea :reallymad: :suicide:

Am inclus librariirlw toate cum ai zis cu ghilimele si le-a luat. Dar inca primesc acea eroare cu "Unresolved externals..." care din ce am vazut pe net este din cauza legatucii cu librariile.

Ce as putea sa mai fac?
Daca folosesti curl compilat static (/MT), trebuie sa adaugi DEFINES += CURL_STATICLIB in fisierul proiect(*.pro).
If you think C++ is not overly complicated, just what is a
protected abstract virtual base pure virtual private destructor
and when was the last time you needed one? — Tom Cargill (1990)

Post Reply