Seite 1 von 1
MOC Compiler und relativer Pfad
Verfasst: 2. Mai 2007 17:04
von Nash
Hi!
Ich arbeite mit VS 2005 als IDE, und möchte alle meine mit dem MOC compiler generierten Files in einen extra Ordner packen.
in etwa so hier:
Code: Alles auswählen
//$(QTDIR)\bin\moc.exe "$(InputPath)" -o "$(ProjectDir)\src\QT_Generated_FILES\moc_$(InputName).cpp"
funktioniert auch, nur leider spinnt dann VS rum, selbst wenn ich nix an meinem Quellcode ändere, will er neu compilieren.
er erstellt mir immer eine neue moc File.
Wenn ich die Moc aber in dem selben Pfad speichere wie die header File funktioniert es, er erstellt mir keine neue moc file
Code: Alles auswählen
//$(QTDIR)\bin\moc.exe "$(InputPath)" -o "$(InputDir)moc_$(InputName).cpp"
Wisst ihr wie ich das Problem in VS lösen kann, das er mir nicht immer eine neue moc file generiert?
Verfasst: 2. Mai 2007 17:36
von Christian81
Und warum alles von Hand erstellen wenn man da eh nicht weiß wie alles zusammenhängt? qmake oder cmake sind doch wirklich nicht so schwer
In 'Ausgaben' muss noch die Ausgabedatei rein (mit Pfad), in 'Abhängigkeiten' noch die Header-Datei (also die Eingabedatei, auch mit Pfad). Des weiteren sollte dem moc-Aufruf die gleichen Includepfade übergeben werden wie dem Compiler.
Verfasst: 2. Mai 2007 18:18
von Nash
ich möchte qmake nicht benutzen weil ich es nicht in VS integriergen kann...
oder kann man es doch?
ich stell mir das so vor, das ich qmake immer manuell ausführen muss, über eine bat datei oder so...das dauert mir zu lange, F5 und fertig kompilliert.
jedenfalls hast du recht, den Ausgabe Pfad hatte ich nicht geändert.
Verfasst: 2. Mai 2007 19:10
von Christian81
Ich würde mal die qmake-Doku lesen...
Option '-tp vc'
Verfasst: 3. Mai 2007 13:22
von Nash
soweit ich das alles verstanden habe gibt es nur für die Komerzielle Version von QT vollen Support für VS 2005.
Developers using Visual Studio to write Qt applications can use the Visual Studio integration facilities provided with the Qt Commercial Editions and do not need to worry about how project dependencies are managed.
Da ich aber die open Source Variante benutze, muss ich halt den Patch und sonstige tricks anwenden damit ich VS anwenden kann.
QMake läuft ausserhalb von VS und wenn ich haufen sachen änderen am meinem Projekt, was nicht nur ein reines QT projekt ist, dann muss ich mir extra wieder eine Projekt datei über QMAKE erstellen lassen, darauf hab ich halt keine Lust...
Verfasst: 3. Mai 2007 14:12
von Christian81
Nash hat geschrieben:soweit ich das alles verstanden habe gibt es nur für die Komerzielle Version von QT vollen Support für VS 2005.
Developers using Visual Studio to write Qt applications can use the Visual Studio integration facilities provided with the Qt Commercial Editions and do not need to worry about how project dependencies are managed.
Da ich aber die open Source Variante benutze, muss ich halt den Patch und sonstige tricks anwenden damit ich VS anwenden kann.
Und Du glaubst der Patch unterstützt nicht das .vcproj zu erstellen? Was denkst Du denn von mir?
Verfasst: 3. Mai 2007 14:31
von Nash
nun ja mit deinem tipp gestern funktioniert ja wieder alles prima, sag mir einen Grund warum ich qmake benutzen sollte?
Verfasst: 3. Mai 2007 14:34
von Christian81
Weil ich damit dann platformunabhängig bin. Und solche Fehler wie bei Dir nicht auftreten, zumal es ja noch uic und die resourcen gibt.
Aber im Grunde ist qmake nur für kleine Projekte die nicht so viele externe Abhängikeiten haben, gut zu gebrauchen. Ansonsten nehm ich cmake

Verfasst: 3. Mai 2007 15:31
von bst
Auch Hallo,
Ansonsten nehm ich cmake
Dieses hier ?
http://www.cmake.org/HTML/Index.html
cu, Bernd
Verfasst: 3. Mai 2007 19:16
von Christian81
Ja, oder gibts noch ein anderes ?

Verfasst: 4. Mai 2007 09:26
von Nash
und welche Vorteile bringt das mit sich?
Verfasst: 4. Mai 2007 09:37
von Christian81
Nash hat geschrieben:und welche Vorteile bringt das mit sich?
z.B. schonmal versucht mit qmake ne externe Lib korrekt einzubinden? Oder einen config-check zu machen ob ein bestimmter Header vorhanden ist oder eine Funktion? cmake ist ein kompletter automake-Ersatz, nur eben wesentlich besser (weil platformunabhängig, neuer ohne Altlasten), ausserdem wir cmake mit kde4 Standard. Die Syntax ist leicht verständlich und der Support hervorragend.
Hört sich zwar wie ne Werbebotschaft an, ist aber so
Nur ein wenig einarbeiten müsste man sich natürlich (aber wo ist das nicht der Fall?) -->
http://qtnode.net/wiki/Qt_with_cmake
/edit: Nochwas - als für kde4 ein Buildsystem gesucht wurde war lange Zeit SCons im Gespräch und ich war sehr skeptisch gegenüber cmake. Aber wie man sieht hat sich das geändert

Verfasst: 4. Mai 2007 15:11
von bst
Hallo,
Christian81 hat geschrieben:
Ja, oder gibts noch ein anderes ?

Danke.
cu, Bernd