Qt "portabel" übersetzen?

Verschiedenes zu Qt
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

.vcproj und alle anderen Dinge sind nicht dazu da auf einen anderen Rechner übertragen zu werden. Ist bei cmake genauso - der andere Rechner kann ja komplett andere Vorraussetzungen (z.B. im Directorylayout) haben.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Mal zum test ....

VS Studio unter Extras / Optionen
Hasst du da einen Eintrag fuer QT, mit den unterpunkten - General und - Builds ?

Wenn ja, dann stell mal sicher das unter Builds deine QT version eingetragen ist.

Dann geh auf dein project, da in den ProjektMappen Explorer (Reiter)....
dann linksclick auf die "Projektmappe - projektmappenname" und dort sollt es nen menupunkt "Change QT Versions" geben.

Dann kommt nen Dialog mit "Change QT version for solution" dort kannst die QT projektpfade anpassen mit einem rutsch .....

Wenn die projektdateien ausgetauscht werden, hilft dir das aber nur bedingt, da du dies jedesmal machen musst wenn du von wem anders die projektdatei laedst .... besonders wenn man die projectdateien in ner sourceverwaltung pflegt, laestig !

Aber, unter extras - optionen - QT Builds kann man auch das "default" QT Build angeben. Dessen pfad wird vom Studio auf die umgebungsvariablen QTDIR under QT4DIR bei uns gesetzt ....
Sprich in deiner projektdatei musst du einmal alle harten verweise auf die QT dirs auf die nutzung von Umgebungsvariablen ala $(QTDIR) einstellen ..... und schon sollt das ding immer mit dem laufen, was im VS als QT Default version eingestellt ist. und das speichert das VS irgendwo ausserhalb in ner eigenen config.
Danach darfst natuerlich nie wieder "change QT version" ueber das Projektmappen - COntextmenu aufrufen, sonst sind die eintaege wieder weg und du hast den Pfad wieder auf das absolute verzeichniss gestellt .....

Ciao ....
Zuletzt geändert von RHBaum am 20. September 2007 16:21, insgesamt 1-mal geändert.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

.vcproj und alle anderen Dinge sind nicht dazu da auf einen anderen Rechner übertragen zu werden
Aehm, hasst du schon mal an nem groesseren Project unter VS oder nem anderen Compiler gearbeitet ?
Bei MS ist die vcproj datei sozusagen dein makefile, und ich wag zu bezweifeln, das man das nicht weitergeben soll, oder in ne sourceverwaltung legen soll !

unter normalen VS hasst du nur die .sln, die .vcproj, + alle sourcen ala .h .cpp .res usw,

Was bitte soll man denn da weitergeben ?

unter windows baut man meist (also nicht beim MS oder intel compiler) kein configure script, sondern steuert alles ueber umgebungsvariablen. Und dafuer sind ohne script halt die IDE's verantwortlich ...

Ciao ....
Zuletzt geändert von RHBaum am 20. September 2007 16:25, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Es geht hier doch nicht um ein normales vc-Projekt... das legt man von Hand an (bzw. über irgend einen Wizard) und muss eben aufpassen dass die Pfade alle relativ sind. Qt stellt ja auch so einen Wizard bereit wie Du gezeigt hat.
D.h. in eurem Fall ist das .vcproj das Projektfile wohingegen es z.B. bei cmake oder qmake eben CMakeLists.txt bzw. die entsprechende pro-Datei ist. Dies hat den Vorteil dass es nicht an M$ gebunden ist.

Und ja, ich muss mich (noch) mit einem grössere MSVC-Projekt rumärgern...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Mir waer nen anderes tool auch lieber als nmake, weil man es eben nicht mit ./configure, oder gar mit externen configs steuern kann ...
Aber leider ist die IDE mit dem debugger das nonplusultra unter windows ... also der komfort ist ungeschlagen. Und groessere projekte mit devcpp oder anderen "Spiel" IDE's erstellen, die blanke katastrophe dagegen.

Andere kommerzielle IDE's hab ich noch ned probiert ...
das legt man von Hand an (bzw. über irgend einen Wizard) und muss eben aufpassen dass die Pfade alle relativ sind. Qt stellt ja auch so einen Wizard bereit wie Du gezeigt hat.
Genau das ist die frage, warum bei ihm die pfade hartcodiert wurden. bei uns legt der "Wizard" die pfade mittels umgebungsvariable $(QTDIR) an .... und voiala, ich kann meine projecte von a nach b verschieben .... ich hab meine QT installation auch woanders, als der mitarbeiter neben mir, trotzdem muss ich seine projecte (.vcproj) auch nutzen .....

Ciao ...
Winni
Beiträge: 7
Registriert: 31. August 2007 21:32

Beitrag von Winni »

Ich war prinzipiell davon ausgegangen, dass der Programmierer zumindest mit Windows/Visual Studio arbeitet, wenn er versucht, die .sln-Datei zu öffnen... :D

Wieso man unter der Voraussetzung dann die Projektdateien aber nicht weitergeben sollte, versteh ich jetzt nicht so ganz. Es würde ja problemlos funktionieren, wenn die Pfade relativ angegeben wären.
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Denk mal, der unterschied ist die Lizenz ^^ bzw das vorhandensein der QT VS integration.

Glaub nen QT project unter VS ohne die Integration und ohne qmake zu erstellen, grenzt an selbstgeiselung :-) oder man schreibt sich selbst nen generator.

den qmake und damit die .pro dateien, also der in vielen foren vorgeschlagene weg fuer QT als opensource, ist fuer groessere projecte unter windows einfach nicht gangbar.
ich wuerd das qmake "an die wand klatschen" wenn es mir im VS immer meine projecteinstellungen ueberschreibt. Ausserdem isses nicht in der Lage, andere besonderheiten ins projectfile zu bringen.
also die weitergabe nur mit .pro dateien waer zumindest hier fuer uns nicht gangbar ....
fuer kleinere projekte ohne besonderheiten sicher gar kein thema.
und unter linux sieht das sicher auch ganz anders aus (stichpunkt ./configure) ....

Ciao ...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

stimmt - qmake ist 'suboptimal'. Aber das benutzen wir ja bei kde4 ja auch nicht... :)
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten