statičko linkovanje za Qt
Dobrodošli, Gost. Molim vas prijavite se ili se registrujte.
Da li ste izgubili vaš aktivacioni e-mail?

Prijavite se sa korisničkim imenom, lozinkom i dužinom sesije

Linuxo Forumi

Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: statičko linkovanje za Qt  (Pročitano 615 puta)
0 članova i 1 posetilac pregledaju ovu temu.
burga
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 568


Meet Linus


WWW
« poslato: 27 Март 2008, 00:37:13 »

Kako da izmenim Makefile za Qt da bih dobio uzvršnu datoteku koja je statički linkovana (ma koliko velika bila). Hoću da kod koji kompajliram (pod winom) mogu da dam nekome kao jedan jedini .exe bez potrebe da taj neko ima instaliran Qt.

I drugo, instalirao sam minGW u linuxu, kako da pomoću njega pravim izvršne datoteke za win?

Prilaže .pro i Makefile jednog projekta (zapravo njegovog parčeta) na kome radim.
Prijavi uredniku   Sačuvana

Нема Бога, и Дирак је његов пророк
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 318



« Odgovor #1 poslato: 27 Март 2008, 12:18:40 »

cd C:\path\to\Qt
configure -static <.....ostale opcije.....>


ili jos bolje procitaj ovo http://doc.trolltech.com./4.1/deployment-windows.html#static-linking jer ja neumem bas da objasnjavam
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
dukenukem_4d
Hero Member
*****
Van mreže Van mreže

Pol: Muškarac
Poruke: 1387



« Odgovor #2 poslato: 27 Март 2008, 13:05:26 »

u man:ld Afro
Citat
-static
 Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies --unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library's external references must be resolved by pulling in entries from static libraries.

Citat
Note---if the linker is being invoked indirectly, via a compiler driver (e.g. gcc) then all the linker command line options should be prefixed by -Wl, (or whatever is appropriate for the particular compiler driver) like this:

 
          gcc -Wl,--startgroup foo.o bar.o -Wl,--endgroup
kada bi se dodalo u makefile u liniji
LFLAGS        = -Wl,-rpath,/usr/local/Trolltech/Qt-4.3.3/lib
ovo
-Wl ,-static      ili samo   -static
  ili nešto slično?

EDIT: u vezi ovoga ,video sam prog. koji je linkovan samo na ove dve (recimo)
QTCORE4.DLL    QTGUI4.DLL( ili je bio onaj stariji qt). s tim da se nalaze u istom direktoriju. ne znam kako do ovoga da se dodje.
« Poslednja izmena: 27 Март 2008, 13:19:23 od dukenukem4d » Prijavi uredniku   Sačuvana

ADSL 512 Slackware Srbija Psy linux notorrni_modem ali se teže instalira od oootranslit ња ња ња
djvujke
Sr. Member
****
Van mreže Van mreže

Pol: Muškarac
Poruke: 318



« Odgovor #3 poslato: 28 Март 2008, 10:08:07 »

koliko sam ja skapirao ... qt biblioteke moraju se statici  kompajlirati, da bi mogao da ih koristis ...
i dalje mozes shared biblioteke da koristis, a ako hoces staticke pri kompajliranju programa stavis -static....

pa svi su program linkovani na qtgu4i.dll jer on obezbedjuje graficke elemente tvom programmu
qtcore4.dll isto tako obezbedjuje neke osnovne stvari...(ne pitaj me koje su ... ne bih umeo da ti objasnim)

pise sve na onom linku sto sam ostavio..pa probaj
Prijavi uredniku   Sačuvana

nemoj nista na silu....uzmi veci cekic
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na: