Portál AbcLinuxu, 14. května 2025 02:21

Dotaz: Distribuce QT4 programu pro jiné platformy

31.3.2009 13:49 radim
Distribuce QT4 programu pro jiné platformy
Přečteno: 548×
Odpovědět | Admin

Dobrý den, mám aplikaci napsanou v QT4 a 32 bitový systém. Potřeboval bych dvě věci:

1. Spustit tuto aplikaci na počítači s 64 bitovým systémem, kde je pouze QT3 a nemám root přístup.

2. Spustit tuto aplikaci na Windows, kde není nainstalované QT.

Neporadil by někdo, jak to nejlépe provést? Děkuji Radim

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

31.3.2009 14:18 T.O.M. | skóre: 22 | blog: T.O.M.'s blog | Ostrava
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
Odpovědět | | Sbalit | Link | Blokovat | Admin

S 64-bit systemem ti moc neporadim, ale na widlich staci do adresare s tvym exe souborem nakopirovat Qt knihovny pro vsechny moduly, ktere jsi z Qt pouzil (core, gui, network, xml...) a navic jednu malou knihovnu mingwm10.dll, kterou najdes, kdyz si Qt4 nainstalujes nebo nekde na netu.
Takovy balik pak pujde spustit i na widlich bez instalace celeho Qt baliku. Doporucuju ale behem instalace nejak otestovat, zda dane knihovny uz nahodou v systemu nejsou...

31.3.2009 15:03 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
a navic jednu malou knihovnu mingwm10.dll, kterou najdes, kdyz si Qt4 nainstalujes nebo nekde na netu.

Ne všichni kompilují QT aplikace na Windows pomocí minGW... Pokuď si program a QT skompilujete pomocí nějakého "nativního" kompilátoru (Visual studio), tak tahle knihovna není nutná.

Každý má právo na můj názor!
31.3.2009 16:06 T.O.M. | skóre: 22 | blog: T.O.M.'s blog | Ostrava
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy

To je mozne, v tom pripade tu knihovnu vubec nenajde.

BTW, nebyla integrace Qt do Visual Studia dostupna jen pro uzivatele komercni licence? Kdysi jsem se pokousel cele nekomercni Qt zkompilovat pomoci nmake, ale vzdy se to na necem zarazilo, takze nechapu, ze se s tim chce nekomu drbat :-)

1.4.2009 00:52 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
BTW, nebyla integrace Qt do Visual Studia dostupna jen pro uzivatele komercni licence?

Jestli si to dobře pamatuju, tak do verze QT 4.3 ano, ale existoval patch, kterej umožnil skompilovat i GPL verzi QT pomocí nmake. Od verze 4.4 to ale funguje "out-of-the-box".

Kdysi jsem se pokousel cele nekomercni Qt zkompilovat pomoci nmake, ale vzdy se to na necem zarazilo, takze nechapu, ze se s tim chce nekomu drbat :-)

"Slušnej" SW by (na Windows obzvlášť) neměl záviset na žádných zbytečných knihovnách. Navíc jsou IMHO s minGW nějaký licenční problémy.

Každý má právo na můj názor!
Martin Stiborský avatar 31.3.2009 14:32 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
Odpovědět | | Sbalit | Link | Blokovat | Admin
py2exe ti program zabalí do exe, přibalí Python i Qt, funguje to dobře ..
Kvík ..
Martin Stiborský avatar 31.3.2009 15:07 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
omlouvám se za svůj komentář, nevím jak se mi vsugerovalo že autor psal, že má program v PyQt ..
Kvík ..
31.3.2009 15:04 l4m4
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
Odpovědět | | Sbalit | Link | Blokovat | Admin
Slinkovat to staticky, a co nejde, to holt 32bitově nainstalovat někam do home a nastavit cesty...

Taky záleží na tom, jak moc čistě 64bitový systém to je, moje většinou nemají ani 32bitovou libc, ale některé distribuce rády instalují hromadu 32bitového balastu, tedy knihoven, a ty potom není nutno linkovat staticky nebo je jinak tahat s sebou.
31.3.2009 16:31 radim
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
Odpovědět | | Sbalit | Link | Blokovat | Admin

Díky za odpovědi. O tom statickém linkování jsem si něco našel, ale není mi úplně jasné, jak přesně to funguje a jak to provést. To pak ten program bude 32 bitový i 64 bitovém systému? Co se týče rad na Windows, tak nevím jak vytvořit ten exe soubor (Windows nemám). Ideální by bylo, kdybych prostě mohl vše potřebné naházet do jednoho adresáře a pak by stačilo něco jako ./configure, make, make install, případně nějaká obdoba na windows. Je něco takového možné? Nebo lze se tomu aspoň nějak přiblížit? Za jakékoliv nakopnutí budu vděčný.

31.3.2009 16:55 l4m4
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
64bitový OS umožňuje spouštět 32bitové programy. Potíž je jen v tom, že dynamicky slinkovaný program potřebuje k běhu knihovny, a ty musejí samozřejmě být taky 32bitové, a nemusejí být nainstalovány (a taky např. dynamický linker). Ostatně, jak píšeš, stejně tam není ani 64bitové Qt4, takže nějak dostat bys ho tam musel tak jako tak.

Ke statickému slinkování potřebuješ jednak statické verze knihoven (tj. libfoo.a), dostupnost v distribucích se různí, druhak to linkovat se -static (pro začátek), třeťak některé věci mohou používat moduly natahované za běhu a pod. a nenechají se snadno staticky slinkovat -- jak je to u Qt, to nevím.

Dobrý pokus je

ldd binárka

což ti vypíše, se kterými knihovnami se linkuje dynamicky.
Fuky avatar 31.3.2009 22:27 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
Můžeš si binárku pro Windows udělat přímo v Linuxu cross kompilátorem (v Debianu balíčky mingw32, mingw32-binutils, mingw32-runtime) a samotný běh můžeš testovat taky na Linuxu pod Wine.
1.4.2009 15:50 radim
Rozbalit Rozbalit vše Re: Distribuce QT4 programu pro jiné platformy
Odpovědět | | Sbalit | Link | Blokovat | Admin

Díky všem za rady, nakonec jsem to tedy vyřešil pro linux staticky a pro windows skompilováním a přihozením knihoven (v mém případě byla potřeba i mingwm10.dll).

Návody podle kterých jsem postupoval:

doc.trolltech.com/4.5/deployment.html

doc.trolltech.com/4.5/deployment-x11.html

doc.trolltech.com/4.5/deployment-windows.html

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.