Fórumok
Sziasztok!
Minap házi miatt elkezdtem Qt-zni QTCreatorban,
de nem sikerűlt statikusan linkelni. (Így 150 megányi cuccot kell bemásolni az exe mellé, hogy fusson)
Próbáltam a VS-hez a QT plugint, ott is lefordul, viszont az exe nem indul helyette azt a hibaüzenetet kaptam, hogy rosszul lett lefordítva.
Hozzászólások
Egyszer csináltam ilyesmit, mert nekem sem jött össze másképp.
dependencywalker ezzel meg tudod nézni mit hiányol az exe, majd azokat melléteszed a Qt könyvtárából.
A Qt Runtime bizonyos DLL-jei mindenképpen kellenek. A makefileban lévő Qt+= résznél megadott plusz komponensek dll-jei (pl. QtNetwork.dll) kellenek majd neked csak, nem az egész runtime.
A Qt bin/ könyvtárából kellenek neki DLL-ek. Indítsd el a programod, és szólni fog, hogy mi hiányzik neki pontosan, majd a hivatkozott fájlt másold be. Olyan 5-10 MB körül lesz összesen.
--
The Elder Scrolls V: Skyrim
Tudod statikusan is linkelni, ha a Qt-t lefordítod -static opcióval, de ez nem 10 perc lesz.
---------------------------
Oszt jónapot!
Es raadasul semmit sem nyer vele, a statikus exe borzalmasan nagy lesz.
--
Nekem kb 10x nagyobb szokott lenni, ami azért elviselhető.
Viszont az exe-t meg lehet tömöríteni pl upx-el, így valamit visszakap a méretből. Dinamikus linkelés esetén ez kicsit kényelmetlenebb, bár ugyanúgy megoldható.
--
ahan nem
Én egy programot ami QtCore, QtGui és QtNetwork -kra támaszkodik, az dynamikusan 700KB, statikusan linkelve ~10MB. Szerintem annyira nem vészes, főleg ha mellé másolom a dll-eket akkor is ugyanitt van méretbe kb.
---------------------------
Oszt jónapot!
Megy az a statikus dolog, csak az egész Qt-ét statikusan kell felépíteni, ahogy feljebb is írják. Egy darabig eltart. Lásd:
http://doc.trolltech.com/4.7/deployment-windows.html
Jó gyerekek, hülye voltam :D
Debug modba buildoltam ezért kellettek neki ilyenbaromni nagy dll-ek.
Így most megúszom 13Megával.
Viszont majd lehet hogy akkor leforgatom az egészet.
Amugy a QtCreatorban hol lehet beállítani, hogy statikusan linkeljen?
Gyanítom, hogy ha statikusan fordított Qt-t állítasz be neki, akkor megold mindent magától.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
Valahol azt olvastam ezt csak a Commercial tudja az LGPL nem.
Az LGPL is tudja...
Egy példa: http://pergersoft.hu/termekek/qt4smartstorage
:-)
Attila, Perger
-----------------------------------------------------
"Az a szoftver, amelyiket nem fejlesztik, az halott!"
Mióta LGPL van, azóta elvileg nincs különbség a Commercial és az LGPL között.
De régebben is csak egy-két plugin (adatbázisok), meg kiegészítő (ActiveX, stb) hiányzott a GPL-esből...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o