Problem sa QTcreator mingwm.dll...

poruka: 6
|
čitano: 1.644
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
Problem sa QTcreator mingwm.dll...

Isprogramirao sam c++ GUI program i kompajliranje prodje dobro. Nako pokretanja programa dobije poruku da nedostaju sledeci cetiri dll fajlovi: mingwm.dll, libgcc_s_dw2-1.dll, QtCored4.dll, QtGuid4.dll.

Nasao sam sva cetiri DLL fajla u mingw\bin folderu i prekopirao u folder gdje se nalazi kompajliran EXE fajl i program je proradi.

 

Ova cetiri DLL fajla zauzimaju 177MB, a programcic je bas mali, da li je moguce nekako izbjeci ove dll fajlove da program radi bez njih?

 

Sa QTcreatorom cak i HELLO WORLD program trazi ove DLL-ove.

 

 

Imam Windows 7 64bit i program.

 

 

 

Poruka je uređivana zadnji put sub 29.1.2011 21:20 (close).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Problem sa QTcreator mingwm.dll...

Ode imas rjesenje

16 godina
neaktivan
offline
RE: Problem sa QTcreator mingwm.dll...

Pazi ja sam uz pomoc UPX kompresora smanji velicinu ova 4 dll-a sad zauzimaju 43.9MB.

 

Kako da staticki linkujem, ne kontam ovo nikako, nema sta nisam probao

 

od prepravljanja fajla qt/mkspecs/win32-g++\qmake.conf

QMAKE_LFLAGS       = -static -static-libgcc -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

 

 

ali mi nista nije pomoglo...

15 godina
neaktivan
offline
RE: Problem sa QTcreator mingwm.dll...

Ne pise ti samo da staticki linkas, nego da i stripas .dll datoteke cime ces ukloniti simbole za debuggiranje iz njih, te znatno smanjiti velicinu datoteka.

 

Dakle u konzolu kucas (nadam se da ti je mingw path podesen pravilno)

 

strip.exe -s nesto

Gdje je "nesto" tocno ime izvrsne datoteke koju zelis ocistiti, u tvom slucaju rijec je o: mingwm.dll, libgcc_s_dw2-1.dll, QtCored4.dll i QtGuid4.dll.

 

Strip.exe je inace dio bintools paketa koji dolazi standardno sa mingw compilerom te se nalazi u \bin podfolderu...

How much wood would a woodchuck chuck if a woodchuck could chuck wood?
16 godina
neaktivan
offline
RE: Problem sa QTcreator mingwm.dll...

Uspjeo sam da stripujem, sada mi je velicina 15MB sto je jako dobro.

E sad da li mogu nekako da ubacim ova cetiri dll-a u moju aplikaciju? Znaci da ne budu odvojeni DLL vec da postoji samo jedan file PROGRAM.EXE koji sadrzi u sebi ove DLL-ove.

15 godina
neaktivan
offline
Problem sa QTcreator mingwm.dll...

DLL = Dynamic Link Library

Dakle njihova namjena jest da nisu povezani u program nego da stoje u nekakvom folderu odakle ih vise programa moze koristiti, cime se stedi diskovni prostor te prostor u radnoj memoriji.

 

Postoje programi koji mogu pretvarati dinamicke biblioteke u staticke, ali ne znam niti jedan koji to radi za MinGW, niti se bavim time.

 

Ono sto ti trebas jest naci negdje staticke biblioteke QT-a, ili sâm rucno kompajlirati QT da dobijes staticke biblioteke.

 

Ovdje pogledaj kako kompajlirati QT da dobijes staticke biblioteke, a ovdje pogledaj kako linkati tako dobivene datoteke sa svojim programom. O samom radu sa QT-om znam koliko i o operaciji srca, tako da ti ne mogu pomoci detaljnije...

How much wood would a woodchuck chuck if a woodchuck could chuck wood?
Poruka je uređivana zadnji put ned 30.1.2011 18:02 (rustweaver).
 
1 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice