Seite 1 von 2

Wie linke ich vernünftig Qt statisch in VS2005?

Verfasst: 30. April 2009 02:58
von forgoden
Damit das Programm keine Qt-DLLs mehr benötigt, wie geht das mit VS2005?

Ich mein, einfach nur auf Multithreaded (/MT) stellen reicht nicht. Tauchen viele Fehler auf...

Verfasst: 30. April 2009 07:32
von Christian81
Du musst Qt auch statisch kompilieren -> Foren-Suche!

Verfasst: 30. April 2009 07:52
von forgoden
also nur qmake?

nicht mit vs2005? gesucht danach habe ich schon aber nix gefunden

hmm ist das kompliziert... dabei bin ich noch anfänger

Verfasst: 30. April 2009 08:12
von Christian81
Wenn man statisch kompilieren will muss man auch Qt statisch kompilieren. Das hatten wir hier schon zig mal und es gibt auch genug Anleitungen (z.B.auf wiki.qtcentre.org). Suchen hilft...

Verfasst: 3. Mai 2009 05:08
von forgoden
Vielen Dank. wiki.qtcentre.org ist wohl ne gute webseite

Ich werd mal versuchen, ob ichs hinkriege

Verfasst: 3. Mai 2009 06:04
von forgoden
hmm wo finde ich die *.pro file? Finde das in dem Verzeichnis von VS und QtAddin erzeugten Projektdateien nicht.
edit: äh man braucht das glaub ich nicht

und das:
configure -static -release

nmake sub-src
quelle: http://wiki.qtcentre.org/index.php?titl ... on_Windows

sollte das im Qt verzeichnis ausgeführt werden? geht das nicht einzeln für ein projekt?

Verfasst: 4. Mai 2009 16:32
von forgoden
hmm nicht dass ich das gesamte Qt Verzeichnis versaue?

Verfasst: 21. Mai 2009 16:27
von forgoden
toll, hab das gemacht und jetzts mit kompilieren gar nicht mehr. Hab ich mir gleich gedacht, dass durch diese kleine Veränderung wieder gar nichts geht. Das heisst wohl wieder alles von vorne anfangen stundenlang bis die Bibliothek rebuildet ist. Wie oft muss ich das wiederholen? Hundertmal? Wie mich das übelst ankotzt. Scheiss Qt konfigurationen. Was soll das alles?

Dabei will ich nur statisch linken und zweitens ein Icon auf exe drauftun. Wie die meisten Programme so sind. Wieso gibt es keine Schritt für Schritt Anleitung für das? Wie machen die anderen Programmierer alle? Ohne VS ist das Debuggen die Hölle!

Verfasst: 21. Mai 2009 16:34
von Christian81
Du bist ja lustig :)
Ich hätte Qt einfach woanders gebaut und mir so nicht meine Konfig zerschossen - aber wer so doll drauf ist dem gönn ich das :lol:

Und zum App Icon: http://doc.trolltech.com/4.5/appicon.html - und wenn man keine .pro-Datei benutzt sollte man wissen was man tut... oder eben die msdn Doku lesen wo dies auch beschrieben ist.

Verfasst: 21. Mai 2009 16:35
von -=Freaky=-
forgoden hat geschrieben:hmm wo finde ich die *.pro file? Finde das in dem Verzeichnis von VS und QtAddin erzeugten Projektdateien nicht.
edit: äh man braucht das glaub ich nicht

und das:
configure -static -release

nmake sub-src
quelle: http://wiki.qtcentre.org/index.php?titl ... on_Windows

sollte das im Qt verzeichnis ausgeführt werden? geht das nicht einzeln für ein projekt?
wenn du ein einzelnes projekt statisch linken willst, musst du dazu die statischen qt-libs haben.
und um die zu bekommen, musst du erst ein einziges mal qt statisch kompilieren.

// edit: zu spaet ... :)

mfg,
julian

Verfasst: 21. Mai 2009 17:25
von forgoden
Christian81 hat geschrieben:Du bist ja lustig :)
Ich hätte Qt einfach woanders gebaut und mir so nicht meine Konfig zerschossen - aber wer so doll drauf ist dem gönn ich das :lol:

Und zum App Icon: http://doc.trolltech.com/4.5/appicon.html - und wenn man keine .pro-Datei benutzt sollte man wissen was man tut... oder eben die msdn Doku lesen wo dies auch beschrieben ist.
Auf dieser Seite war ich ja immer. Wonach soll ich denn in msdn suchen?
Ich habs jetzt mir so überlegt: Auf PC 1 mit Visual Studio Programme entwickeln zum debuggen. Sobald es released werden soll, aufm anderen Rechner mit MinGW Compiler kompilieren. Alles andere frisst zuviel Zeit auf.

Verfasst: 23. Mai 2009 11:18
von Phorx
ich habe auch noch eine Frage zu diesem Thema ... ich hab QT jetzt nochmal statisch gebaut... was muss ich jetzt tun damit Visual Studio auch das statische QT nutzt?
(Benutze VS 2008, das VS Add-in und habe keine Ahnung wie man mt Visual Studio und QT statisch linken kann ;) )

Verfasst: 23. Mai 2009 12:50
von Christian81
Dem VS-Addin sagen wo er das Qt findet und fertig.

Verfasst: 23. Mai 2009 20:25
von Phorx
ok, danke erstmal Christian.

Jetzt hab ich Qt statisch im Visual Addin angegeben, dann hats erstmal rumgeckert das er ein paar libs nicht findet. Z.B. die "qtmaind.lib" ich war dann einfach mal so frei und hab die libs aus dem statischen QT einfach alle um ein d am dateinamen ergänzt. Das nächste Problem war dann folgendes:

Code: Alles auswählen

1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson ist bereits in MSVCRTD.lib(MSVCR90D.dll) definiert.
1>LINK : warning LNK4098: Standardbibliothek "LIBCMT" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden.
1>debug\addressbook.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden.
hast du eine Idee was ich dagegen machen kann? :roll:

MfG Phorx

Verfasst: 24. Mai 2009 02:42
von Mineralwater
Z.B. die "qtmaind.lib" ich war dann einfach mal so frei und hab die libs aus dem statischen QT einfach alle um ein d am dateinamen ergänzt. Das nächste Problem war dann folgendes:
Naja ich hoffe ich behaupte als Anfänger nichts falsches, allerdings hast du warscheinlich den selben Fehler gemacht wie ich ;)

Wenn du Qt statisch compiliert hast, musst du auch deinem Projekt angeben das es statisch ist.
Brauchst lediglich die .pro File erweitern (welche du eh haben solltest) und dort den Eintrag "CONFIG += static" ergänzen.
Somit hättest dir die Mühe gar net machen brauchen bezüglich dem umbenennen.

Gruß Mineralwater