[Qt4.1] [VisualStudio'03] statisch compilieren

Verschiedenes zu Qt
Antworten
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

[Qt4.1] [VisualStudio'03] statisch compilieren

Beitrag von Esleborn »

hi,
mal wieder das alte Thema...
ich will ein Project statisch linken... unter Windows, genauer Visual Studio 2003 . Net.
Wie zum Teufel bekomm ich das hin?

Die Dynamische Variante läuft (dank Patch) einwandfrei... nur die statische gibt beim compilieren immer linkerfehler in der Art von:

Code: Alles auswählen

QtGui.lib(qwininputcontext_win.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '_ImmAssociateContext@8', verwiesen in Funktion '"public: static void __cdecl QWinInputContext::enable(class QWidget *,bool)" (?enable@QWinInputContext@@SAXPAVQWidget@@_N@Z)'
QtGui.lib(qwininputcontext_win.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '_ImmSetCandidateWindow@8', verwiesen in Funktion '"public: virtual void __thiscall QWinInputContext::update(void)" (?update@QWinInputContext@@UAEXXZ)'
QtGui.lib(qwininputcontext_win.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '_ImmSetCompositionWindow@8', verwiesen in Funktion '"public: virtual void __thiscall QWinInputContext::update(void)" (?update@QWinInputContext@@UAEXXZ)'
QtGui.lib(qwininputcontext_win.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '_ImmSetCompositionFontA@8', verwiesen in Funktion '"public: virtual void __thiscall QWinInputContext::update(void)" (?update@QWinInputContext@@UAEXXZ)'
QtGui.lib(qwininputcontext_win.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '_ImmSetCompositionFontW@8', verwiesen in Funktion '"public: virtual void __thiscall QWinInputContext::update(void)" (?update@QWinInputContext@@UAEXXZ)'
QtCore.lib(qeventdispatcher_win.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '_WSAAsyncSelect@16', verwiesen in Funktion '"public: virtual void __thiscall QEventDispatcherWin32::registerSocketNotifier(class QSocketNotifier *)" (?registerSocketNotifier@QEventDispatcherWin32@@UAEXPAVQSocketNotifier@@@Z)'
NetClient.lib(net.client.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '"__declspec(dllimport) public: class QString & __thiscall QString::prepend(class QByteArray const &)" (__imp_?prepend@QString@@QAEAAV1@ABVQByteArray@@@Z)', verwiesen in Funktion '"public: virtual void __thiscall C_Client::TranslateNetworkInfo(class C_NetworkInfo &)" (?TranslateNetworkInfo@C_Client@@UAEXAAVC_NetworkInfo@@@Z)'
NetClient.lib(net.client.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '"__declspec(dllimport) public: class QString & __thiscall QString::append(class QByteArray const &)" (__imp_?append@QString@@QAEAAV1@ABVQByteArray@@@Z)', verwiesen in Funktion '"public: virtual void __thiscall C_Client::TranslateNetworkInfo(class C_NetworkInfo &)" (?TranslateNetworkInfo@C_Client@@UAEXAAVC_NetworkInfo@@@Z)'
QtNetwork.lib(qhostaddress.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '_htonl@4', verwiesen in Funktion '"public: void __thiscall QHostAddress::setAddress(struct sockaddr const *)" (?setAddress@QHostAddress@@QAEXPBUsockaddr@@@Z)'
QtNetwork.lib(qhostinfo_win.obj) : error LNK2019: Nicht aufgelöstes externes Symbol '__imp__gethostname@8', verwiesen in Funktion '"public: static class QString __cdecl QHostInfo::localHostName(void)" (?localHostName@QHostInfo@@SA?AVQString@@XZ)'
weiß irgendwer wie ich das lösen kann...?


Thx


Elgrimm Esleborn
Glaube an eine Lösung, nur dann kannst du auch eine finden.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Re: [Qt4.1] [VisualStudio'03] statisch compilieren

Beitrag von macman »

Da fehlen ein paar Libs. Guck in der Hilfe z.B. nach 'ImmAssociateContext' und schau welche Lib dafür nötig ist. Die bindest Du mit ein und fertig.
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

also zuerstmal, waurm fügt Qt diese Libs nicht selbst ein? Macht es bei der dynamische Variante ja auch...

Zweitens und weit wichtiger:
Warum verhält sich Qt so statisch gebaut völlig anders, wie dynamisch?
Statt das gesamte Projekt funktioniert, werden fast alle Widgets komplet schwarz angezeigt usw....

Kann mir das einer erklären?
Glaube an eine Lösung, nur dann kannst du auch eine finden.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Esleborn hat geschrieben:also zuerstmal, waurm fügt Qt diese Libs nicht selbst ein? Macht es bei der dynamische Variante ja auch...
Na sowas aber auch :roll:
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Esleborn
Beiträge: 265
Registriert: 27. Januar 2005 01:23
Wohnort: Baden-Würtenberg
Kontaktdaten:

Beitrag von Esleborn »

und die ~500 Warnings wegen "lokal definierten Symbolen" kann mir auch keiner erklären, oder?
Glaube an eine Lösung, nur dann kannst du auch eine finden.
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Esleborn hat geschrieben:also zuerstmal, waurm fügt Qt diese Libs nicht selbst ein? Macht es bei der dynamische Variante ja auch...
Seit wann werden bei der dynamischen Variante Libs eingebunden?
Esleborn hat geschrieben:Warum verhält sich Qt so statisch gebaut völlig anders, wie dynamisch?
Tut es gar nicht, zumindest nicht hier. Der einzige Unterschied ist, das das Ergebnis deutlich größer ist. Dafür braucht man auch keine DLLs mitliefern.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

@Macman: Benutzt Du auch meinen Patch und hast du auch das Problem mit den Warnungen 'lokal definiertes Symbol wurde importiert'?

Oder anders geafrgt - geht es bei Dir ohne Probleme mit dem Patch?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Sieht so aus als hättest du Pech - bei mir funktioniert es tadellos (habe examples\tutorial\tutorial1 und den designer gebaut). Eventuell hast du die statischen und dynamsichen Libs irgendwie vermischt so dass es zu diesem Problem kommt...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
macman
Beiträge: 1738
Registriert: 15. Juni 2005 13:33
Wohnort: Gütersloh
Kontaktdaten:

Beitrag von macman »

Christian81 hat geschrieben:@Macman: Benutzt Du auch meinen Patch und hast du auch das Problem mit den Warnungen 'lokal definiertes Symbol wurde importiert'?
Nein, ich nutze die kommerzielle Version, weshalb ich deinen Patch nie probiert habe.
Antworten