VS.NET2003 & UIC - Dependency-Probleme

Verschiedenes zu Qt
Antworten
Massa
Beiträge: 3
Registriert: 12. Oktober 2005 19:02

VS.NET2003 & UIC - Dependency-Probleme

Beitrag von Massa »

Qt v4.0.1:
Bei einem Projekt habe ich fuer meine .ui-Dateien im VisualStudio.NET 2003 folgenden Custom Build Step eingetragen:

Code: Alles auswählen

Command Line: "$(QTDIR)\bin\uic.exe" "$(InputPath)" -o "$(InputDir)\..\include\GUI\ui\$(InputName).h"
Description: UIC'ing $(InputFileName)...
Outputs: $(InputDir)\..\include\GUI\ui\$(InputName).h
Additional Dependencies: $(InputPath)
Die daraus resultierenden .h-Dateien sind in einem eigenen Baum in der Solution eingetragen (nur zur Kontrolle).

Ausserdem werden die generierten .h-Dateien dann in eigenen .h-Dateien eingebunden und diese leiten dann aus den UI-Klassen eigene Klassen ab.

Soweit so gut. Das funktioniert auch gut.
Wenn ich die Solution baue, macht er brav seine ganzen Schritte (uic, dann moc'ed er meine Header, etc.)
Aber irgendwie erkennt jetzt VisualStudio nicht, dass die vom UIC verwendeten .ui-Dateien sich nicht geändert haben und dass die generierten .h-Dateien bereits existieren.
Bei jedem "Build Solution" ruft er wieder den UIC auf um aus den .ui die .h-Dateien zu generieren :shock:
Auch wenn ich dann z.B. den Debugger starten will, werde ich jedesmal gefragt, ob ich das Projekt nicht übersetzen will, es sei noch nicht aktuell :cry:

Bin ich zu doof das richtig im VS.NET einzutragen oder was ist da los :?:

Das ganze ist auch deswegen besonders lästig, weil er dann nach dem UIC Aufruf natürlich (in dem Fall zu recht) weitere von diesen generierten .h-Dateien abhängige Dateien neu übersetzt.

Hat irgendjemand eine Idee woran das liegen könnte bzw. wie ich das abstellen kann?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Warum benutzt du nicht qmake um die vcproj-Datei zu erstellen. Zumdinest zum Test um zu sehen was qmake für den CustomBuildStep einträgt:

Code: Alles auswählen

<Tool
    Name="VCCustomBuildTool"
    AdditionalDependencies="C:\tmp\qt-4.0.1\bin\uic.exe"
    CommandLine="C:\tmp\qt-4.0.1\bin\uic.exe finddialog.ui -o ui_finddialog.h"
    Description="UIC finddialog.ui"
    Outputs="ui_finddialog.h"/>
Das sieht schon etwas anders aus als bei Dir.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Massa
Beiträge: 3
Registriert: 12. Oktober 2005 19:02

Beitrag von Massa »

Christian81 hat geschrieben:Warum benutzt du nicht qmake um die vcproj-Datei zu erstellen. Zumdinest zum Test um zu sehen was qmake für den CustomBuildStep einträgt:
Könnte ich ja mal versuchen...
(wobei ich zuerst einmal den umgekehrten Weg gehen müsste und eine .pro Datei erzeugen müsste :shock: )
Christian81 hat geschrieben:Das sieht schon etwas anders aus als bei Dir.
Findest Du? Ich nicht :wink:
Ich benutze nur VS-Variablen, damit ich die Regel überall gleich machen kann und nicht für jede Datei anpassen muss.
Und ich will meine Ergebnisse in ein spezielles Verzeichnis schreiben, damit andere Sourcen das gleich finden.
Das ist für mich jetzt nicht wesentlich anders... :)

Das einzige was bei mir eingetragen ist, ist eine Abhängigkeit zur eigenen Sourcedatei (und bei Dir zum uic-Compiler selber)
Diese Abhängigkeite hatte ich aber auch schon mal weggelassen - mit gleichem Ergebnis.

Aber Du hast insofern Recht, dass ich mal versuchen werde, zumindest bei einer Datei die Variablen wegzulassen und feste Werte hinzuschreiben - mal sehen ob's dann besser wird (und das VS vielleicht Probleme mit der Auflösung der Variablen hat).
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das pro-File kannst Du doch recht schnell mit 'qmake -project' erzeugen. Zumindest zum Test sollte das reichen :)
MfG Christian

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

Beitrag von macman »

Massa hat geschrieben:Aber Du hast insofern Recht, dass ich mal versuchen werde, zumindest bei einer Datei die Variablen wegzulassen und feste Werte hinzuschreiben - mal sehen ob's dann besser wird (und das VS vielleicht Probleme mit der Auflösung der Variablen hat).
Nein, daran liegt es nicht. Ich arbeite da auch nur mit den Variablen und habe keine Probleme. Was aber Probleme bereitet, sind Dateien in der Dateiliste, die überhaupt nicht existieren. Ich weiß noch nicht wie die da rein kommen, komme dem auch nicht näher. Vermute es liegt an abgebrochenen Debugsitzungen, aber das ist bisher reine Spekulation.

Pobier mal alle gelisteten Dateien durch, ob welche vom Editor nicht gefunden werden. Die schmeißt Du dann raus und dann sollte es gehen. Wundere Dich aber nicht, wenn die plötzlich wieder da sind.
Massa
Beiträge: 3
Registriert: 12. Oktober 2005 19:02

Beitrag von Massa »

macman hat geschrieben:Pobier mal alle gelisteten Dateien durch, ob welche vom Editor nicht gefunden werden. Die schmeißt Du dann raus und dann sollte es gehen. Wundere Dich aber nicht, wenn die plötzlich wieder da sind.
Gute Idee!
Werde ich mal nachschauen...

An den Variablen liegt es wirklich nicht, das habe ich inzwischen getestet...
Christian81 hat geschrieben:Das pro-File kannst Du doch recht schnell mit 'qmake -project' erzeugen. Zumindest zum Test sollte das reichen Smile
Das Projekt beinhaltet mehrere Unterprojekte (DLLs und Libraries) und ist strukturiert auf 'zig Verzeichnisse verteilt :?
Ich denke nicht, dass da so einfach eine .pro-Datei zu generieren ist...
Ich werde es aber nächste Woche mal versuchen... :shock:
Antworten