spelley Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 Hei, har laget en GUI applikasjon i QT som jeg ikke får til å kjøre på egenhånd (standalone). Får beskjed at .dll filer mangler. Når jeg finner den filen som mangler, er det en annen fil som mangler og slik holder det på. Til informasjon har jeg lagt inn alle filene fra qt mappen (mingw\bin). Noen som kan hjelpe? Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 (endret) Hvilken QT versjon er det du kjører? Last ned http://www.dependencywalker.com/ Denne hendige lille dingsen forteller deg akkurat hvilke .dll biblioteker du trenger å bundle med applikasjonen din. Standard QT er konfigurert til å bygge applikasjoner som benytter delte biblioteker. Det vil si at du trenger å bundle alle .dll filer fra biblioteker du benyttet da du programmerte applikasjonen din. For eksempel, jeg har programmert et program som avhenger av QtGui, QNetwork og QXML, dette er filstrukturen for applikasjonen min: icudt49.dll icuin49.dll icuuc49.dll libEGL.dll libgcc_s_sjlj-1.dll libGLESv2.dll libstdc++-6.dll libwinpthread-1.dll Qt5Core.dll Qt5Gui.dll Qt5Network.dll Qt5Widgets.dll Qt5Xml.dll sbclient.exe I den samme katalogen må du ha en underkatalog kalt "platforms", her har jeg qminimal.dll qwindows.dll Se om dette hjelper. Merk: Dette er for QT versjon > 5 Endret 24. mars 2013 av Gjest slettet-ld9eg7s96q Lenke til kommentar
spelley Skrevet 24. mars 2013 Forfatter Del Skrevet 24. mars 2013 (endret) Takker for supert svar. Qt versjon er mindre enn 5 (4.7). Jeg kjørte dependency, jeg fikk en error når jeg lastet inn exe filen (erroren var: errors were detected when processing c\users\desktop\mappe\debug\test.exe see the log windows for detail.). Ellers står det følgende: What to do ? Er det de 5.dll filene med gult <<?>>som mangler? Endret 24. mars 2013 av spelley Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 Stemmer Husk å bygg applikasjonen din for "Release" og ikke "Debug" når du skal gi den til sluttbrukerne Lenke til kommentar
spelley Skrevet 24. mars 2013 Forfatter Del Skrevet 24. mars 2013 (endret) Takker for hjelp. Bygget som release og har lagt til alle dll filene som depends sier mangler. No får jeg følgende feilmelding når jeg kjører applikasjonen: The procedure entry point ?begin@QListData@@QBEPAPAXXZ could not be located in the dynamic libary QtCore4.dll. Finner ikke så mye fornuftig når jeg googler det. Ellers er det verdt å nevne at depends sier følgende til meg: Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module. Error: Modules with different CPU types were found. Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module. Jeg har jobbet en del med applikasjonen på skolen, og det har gått med en god del dager på dette prosjektet. Endret 24. mars 2013 av spelley Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 Kan du poste innholdet i test.pro og hvilke dll filer du nå har inkludert i programmappen din? Lenke til kommentar
spelley Skrevet 24. mars 2013 Forfatter Del Skrevet 24. mars 2013 Det kan jeg vettu: Test.pro: QT += sql SOURCES += \ main.cpp \ qcustomplot.cpp \ querybuilder.cpp \ mainwindow.cpp \ graph.cpp HEADERS += \ qcustomplot.h \ querybuilder.h \ mainwindow.h \ graph.h Jeg har følgende .dll filer: Tusen takk for all hjelp hittil! Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 (endret) Legg til QT += core i pro fila di og det burde løse problemet edit: ved nærmere ettertanke må du ha QT += gui der også edit2: Du trenger ikke msvc dll filene i og med at du bruker mingw compileren edit3: Husk å bygg applikasjonen din om igjen etter at du har redigert .pro fila Endret 24. mars 2013 av Gjest slettet-ld9eg7s96q Lenke til kommentar
spelley Skrevet 24. mars 2013 Forfatter Del Skrevet 24. mars 2013 (endret) Hei, takk for hjelp nok en gang. jeg har lagt til QT +=core og bygget (release) programmet på nytt. Får samme melding: The procedure entry point ?begin@QListData@@QBEPAPAXXZ could not be located in the dynamic libary QtCore4.dll. og dependency walker sier det samme: Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module. Error: Modules with different CPU types were found. Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module. Endret 24. mars 2013 av spelley Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 Det er fordi du har lagt til debug dll filene istedefor release dll filene i programmappa di. F.eks istedefor qtgui4d.dll skal du inkludere qtgui4.dll Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 Fungerte det nå, eller? Lenke til kommentar
spelley Skrevet 24. mars 2013 Forfatter Del Skrevet 24. mars 2013 hei, hadde helt glemt et middagsbesøk jeg skulle i takk for all hjelp hittil. Slik ser .pro filen ut: QT += sql QT += gui QT += core videre har jeg releaset programmet på nytt og lagt til kun relevante .dll filer (ikke noen debug). Jeg opplever samme feilmelding som tidligere: The procedure entry point ?begin@QListData@@QBEPAPAXXZ could not be located in the dynamic libary QtCore4.dll. Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 Jeg tror kanskje jeg vet hva som er problemet her. Når du kopierer dll filene fra katalogen du har installert QT fra, kopierer du de fra QT\[etellerannetnummer]\bin eller QT\[etellerannetnummer]\Qt\Bin ? Forskjellen er at i den første stien ligger dll filene som var kompilert og linket via microsofts kompilator, du bruker mingw, så sørg for at dll filene du bundler med programmet ditt stammer fra den siste stien. Funker det nå? Lenke til kommentar
spelley Skrevet 24. mars 2013 Forfatter Del Skrevet 24. mars 2013 Hei, i utgangspunktet har jeg kopiert filene fra: QT\[etellerannetnummer]\bin. Jeg finner ikke: QT\[etellerannetnummer]\Qt\Bin En ting som absolutt er verdt å nevne er at det er noen .dll filer jeg har måtte finne på nettet da det ikke la i bin mappen... Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 24. mars 2013 Del Skrevet 24. mars 2013 (endret) Det ville jeg vært forsiktig med, det er aldri en god ide å laste ned dll filer direkte fra nettet. Alle dll filene du trenger skal ligge i filsystemet ditt et sted. Hvis jeg var deg ville jeg lastet ned den seneste versjonen av QT, rekompilert programmet ditt i release og prøve der. Du trenger da alle filene jeg listet opp i min første post, husk også qminimal.dll og qwindows.dll under "platforms". QT versjonen du bruker ble kompilert med microsofts kompilator, men du bruker mingw kompilator for å bygge applikasjonene dine. Dll filene du kopierer til programmappen din er de dll filene QT trenger for å fungere, men de vil ikke fungere med de programmene du kompilerer. Dll filene du trenger skal ligge et sted under katalogen du installerte QT (jeg mener å huske det var QT\[Etellerannetnummer]\Qt\Bin men det er en liten stund siden jeg brukte versjon ~4 (har hukommelse som en gullfisk) edit: alternativt kan du konfigurere QT til å bruke microsofts kompilator. Du må da ha MSVC installert Endret 24. mars 2013 av Gjest slettet-ld9eg7s96q Lenke til kommentar
spelley Skrevet 24. mars 2013 Forfatter Del Skrevet 24. mars 2013 DA gjør jeg dette, gir deg en tilbakemelding asap om hvordan det gikk. Lenke til kommentar
spelley Skrevet 25. mars 2013 Forfatter Del Skrevet 25. mars 2013 liten update. Har gitt litt opp å laste ned qt, sitter på fjellet og har 3g (gratis ut måneden), men det tar så sabla lang tid. Har dog Visual studio 2012 installert på PCen fra før av. Så da er spørsmålet: Hvordan konfigurerer jeg QT til å bruke M$ kompilator? Lenke til kommentar
GeirGrusom Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 Det er ikke QT du må konfigurere, det er VC++. I egenskapene til prosjektet legger du til lib mappen til til QT etter ønsket prosessor i Linker instillingene under Library Directories eller hva det enn nå heter. Legg til .lib filene i Additional Libraries. I C/C++ legger du til include mappene i Additional Include Directories. Derifra burde det være tut og kjør. Lenke til kommentar
spelley Skrevet 25. mars 2013 Forfatter Del Skrevet 25. mars 2013 Det er ikke QT du må konfigurere, det er VC++. I egenskapene til prosjektet legger du til lib mappen til til QT etter ønsket prosessor i Linker instillingene under Library Directories eller hva det enn nå heter. Legg til .lib filene i Additional Libraries. I C/C++ legger du til include mappene i Additional Include Directories. Derifra burde det være tut og kjør. takker! Der datt jeg dessverre helt ut, finnes det noen steg-for-steg guide for å gjøre dette? Finner det ikke =/ Lenke til kommentar
Gjest Gjest slettet-ld9eg7s96q Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 Det GeirGrusom sikter til er vel hvis du skal bruke QT innenfor visual studio miljøet noe du også kan gjøre men det er vel bedre å bruke QT's IDE og microsofts kompilator. QT creator > tools > options > build and run > kits Herfra kan du spesifisere og sette opp kompilatoren. Hvis ikke microsofts kompilator blir oppdaget her bør du sørge for å forsikre deg om at den befinner seg i path'en din (cl.exe hvis jeg ikke husker feil). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå