[gelöst] Qt Projekt in Vis. Studio Projekt umwandeln scheite

Verschiedenes zu Qt
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

[gelöst] Qt Projekt in Vis. Studio Projekt umwandeln scheite

Beitrag von pospiech »

Ich habe ein bisher .pro und mingw basiertes Projekt, das ich jetzt in Visual Studio mit nmake statt mingw weiterbearbeiten möchte.

Dazu habe ich Qt heruntergeladen und mit nmake nach Anleitung von qt2005.pdf kompiliert.
Ein bisheriges in VS erstelltes Qt Projekt kompiliert jetzt auch durch.
Zusätzlich ist noch QtVSAddin installiert.

Jetzt habe ich in VS2005 ein neues leeres Qt Projekt erstellt und die bisherigen .ui, .h und .cpp Datei dort hinzugefügt.

Wenn ich jetzt eine einzelne Datei kompipilieren möchte scheitert es aber mit
fatal error C1083: Datei (Include) kann nicht geöffnet werden: "QtGui": No such file or directory
Dabei ist QTDIR gesetzt und in dem Projekt auch $(QTDIR)/include; als Pfad eingetragen. Das Include Verzeichnis ist ebenfalls in PATH.

Wenn ich alles neu kompilieren möchte dann bekomme ich andere Fehler
1>Compiling UI file mainwindow
1>Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch.
1>Project : error PRJ0019: Ein Tool hat einen Fehlercode aus folgender Quelle zurückgegeben: "Compiling UI file mainwindow"
Offensichtlich wird von Qt nichts gefunden. Was sollte ich nun anders machen? Das andere Projekt kompiliert ja anstandslos.

Matthias
Zuletzt geändert von pospiech am 28. Februar 2008 08:33, insgesamt 1-mal geändert.
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Ohne jetzt weiter drüber nach zu denken, kann ich nur folgende Tips geben:

wenn Du QTDIR/include angibst, dann kann QtGui nicht gefunden werden, da die Datei im Verzeichnis QTDIR/include/QtGui liegt.

Und bzgl. dem Fehler mit UI und der mainwindow, da scheint was im Benutzerdefinierten Buildschritt nicht zu stimmen... evtl. liefert das Output Window diesbezüglich mehr Infos.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Benutzt qmake anstatt alles selbst in Visual Studio einzutragen! Alles andere ist sinnlos.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
pospiech
Beiträge: 232
Registriert: 1. September 2006 17:20
Wohnort: Hannover

Beitrag von pospiech »

Christian81 hat geschrieben:Benutzt qmake anstatt alles selbst in Visual Studio einzutragen! Alles andere ist sinnlos.
Ich bin bislang so vorgegangen wie im Dokument qt2005.pdf vorgeschlagen.
Dabei wird qmake nicht benutzt. Daraus ergibt sich für mich natürlich die Frage wie ich qmake innerhalb von Visual Studio benutzte? Über eine extra Kommandozeile?

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

Beitrag von Christian81 »

Forum-Suche würde ich mal vorschlagen. Ausserdem habe ich auf die qmake-Doku nicht umsonst verlinkt. qmake erstellt .vcproj - Files mit allen Dingen die man bei Qt beachten muss und warum dieses doofe Dokument denkt man müsste (für Anfänger) alles von Hand in VS eingeben verstehe ich nicht...
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Das doofe Dokument findet es praktisch nicht alles in einer QMake Datei eintragen zu müssen. Ich selbst arbeite damit lieber, da ich praktisch nur unter Windows und Visual Studio entwickle.

Ist ja jedem selbst überlassen wie er/sie es macht, deswegen muss man nicht gleich patzig werden.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das Problem bei dem alles selbst eintragen (und keinen Hinweis auf qmake) ist, dass Anfänger das leicht falsch machen da sie nicht verstehen was das alle soll. Ein kleiner Hinweis a'la 'mit "qmake -tp meinprojekt.pro" wird das .vcproj ohne Handarbeit erstellt' wäre da sicherlich sehr hilfreich. Man sieht es ja hier im Forum - jede Woche einer mit den selben Problem weil sie dort was falsch eintragen. Ist nicht bös gemeint - nervt nur ungemein.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
VuuRWerK
Beiträge: 82
Registriert: 11. Juni 2007 20:46
Wohnort: Dresden

Beitrag von VuuRWerK »

Ich hab vorher auch immer mit QDevelop oder halt der Konsole gearbeitet. Hab letzte Woche mir mal das PDF von Volker zur Brust genommen um das ganze mit dem VS2008 Express hinzubekommen, hat wunderbar funktioniert. Was natürlich etwas unangenehm ist, ist das händische erstellen der Build-Rule für die *.h aber das ist bei kleineren Projekten zu verkraften. Eine Standard Build-Rule für die *.ui wird in dem PDF wunderbar erklärt.

Da es unter den Express Versionen nicht so ohne weiteres möglich ist eigene AddIns zu integrieren suche ich derzeit noch nach einer Möglichkeit, sollte ich eine gefunden haben werde ich mir die manuellen Vorgänge damit automatisieren. Das AddIn von Volker funktioniert bei den Express Versionen anscheinend nicht, zumindestens nicht bei der 2008er.

Vorallem werde ich mir dann ebenfalls noch etwas einbauen was mir parallel zu den VS-Projectfiles die *.pro Files erstellt um so gleich die Möglichkeit zu haben das ganze Projekt gleich mit qmake zu kompilieren.

Was ich eigentlich mit meinem Geschwafel sagen wollte, dass ich das "Dokument" nicht doof finde :)

Gut Schuß
VuuRWerK ;)
Es gibt nur 3 natürliche Feinde des Programmierers: Tageslicht, frische Luft und das unerträgliche Gebrüll der Vögel.
Oft ist die Ursache des schwarzsehens lediglich ein verrutschen des Bretts vorm Kopf =)
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Hab vor kurzem auch mal angefangen, das AddIn für VS 2008 zu entwickeln, aber bin gerade mit vielen anderen Dingen beschäftigt und komm deshalb nicht dazu. Meine Idee ist eigentlich auch mal gewesen, über das AddIn eine .pro Datei automatisch mit abgleichen zu lassen. Erster Schritt dahin war der "QMAKE Projektdatei erzeugen" Befehl, der aber noch weit davon entfernt ist, wirklich gut zu funktionieren.

Mit den AddIns kann man in Visual Studio eigentlich recht viel machen, allerdings fehlt mir momentan leider die Zeit.

Von den Custom Build Rules bin ich mittlerweile wieder etwas weg gekommen, da es bei mir Probleme mit Setup Projekten gab. Beim aktuellen VsQtAddIn werden stattdessen die Custom Build Steps automatisch für Ui Dateien und Header Dateien die Q_OBJECT beinhalten eingetragen. Das verhindert auch, dass für alle Header ein moc file angelegt wird obwohl gar kein Q_OBJECT im Header enthalten ist.


Bzgl. Christian: Einen Hinweis kann ich bei Gelegenheit zwar mal einbauen, allerdings denke ich, da es in der QMake Doku steht und mein Dokument qmake ja gar nicht verwendet, dass es eigentlich unnötig ist. Das die Leute keine Suchfunktion benutzen bevor sie hier posten, oder sich mal die Trolltech Doku angucken kann ich auch nicht ändern. Und wenn's dich nervt, ignoriere die Posts halt einfach und hoffe, dass jemand anderes hilft.
Zuletzt geändert von Volker am 27. Februar 2008 13:52, insgesamt 1-mal geändert.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Beitrag von RHBaum »

Das problem mit dem .pro files:
Wenn du was an den QT einstellungen aenderst, und dann das vcproj damit updaten laesst, sind alle vorherigen einstellungen in der vcproj floeten.
Hinzu kommt, in der .pro datei kannst du nur rudimentaere Dinge einstellen ... das langt meist fuer nen Erweitertes hallo world, das wars.

Zusaetzliche Linker / include einstellungen mit relativen Pfaden ($() Aufloesung), Projektbezogene Ablageorte fuer die temp und zieldateien ...
....
etc, alles ned mit der .pro einstellbar.

Also fuer jedes ernstzunehmendes Project wirst deine Einstellungen in der vcproj pflegen muessen. Also ist man besser bedient, man lernt die QT ueber die vcproj zu bedienen ... oder man bleibt ewig bei Hello World programmen.

Man kann ne .pro erstellen und ne vcproj draus generieren ... und dann immer nur die vcproj verwenden. Aber irgendwann wird man auch da QT einstellungen aendern muessen.
BTW, die ganzen professionellen QT plugins arbeiten direkt mit VS zusammen. Da braucht man die .pro eigentlich ueberhaupt ned mehr, man kann gleich lauffaehige vcproj Projecte erstellen.

Dementsprechend sehe ich qmake und .pro als (unkonfortable)Anfaengerhilfe, aber ned als ausgereiften Mechanismus an
... Leider sind die professionellen QT Plugins nur bei der pro lizens bei. Fuer anfaenger waeren die auch super geeignet, zig mal besser wie qmake.

Wenn ich nen QT projekt auf opensource basis erstelle (also ohne Plugins) und mit der Express Version, bzw dem gcc, verwend ich qmake auch scho lange nimmer, sondern trag alles per hand ein .. wenn man weiss wie isses fast genau so schnell als wie nen.pro anzupassen ...

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

Beitrag von Christian81 »

RHBaum hat geschrieben: Wenn ich nen QT projekt auf opensource basis erstelle (also ohne Plugins) und mit der Express Version, bzw dem gcc, verwend ich qmake auch scho lange nimmer, sondern trag alles per hand ein .. wenn man weiss wie isses fast genau so schnell als wie nen.pro anzupassen ...
.
Coole Fleissarbeit - nur gut das kde ein ordentliches Buildsystem hat...

qmake ist für Anfänger nunmal das beste - allein aus dem Grund dass sie sich eben erstmal nicht um irgendwelche Flags für moc oder uic oder was auch immer rumschlagen müssen. Das qmake für grosse Projekte nicht benutzbar ist muss man mir nicht sagen.

Was ich eigentlich will ist a nur ein kleiner Hinweis in dme pdf dass es qmake gibt und der die .vcproj-Dateien gut erstellen kann. Und schon hätten wir nicht jede Woche das gleiche zu diskutieren.
MfG Christian

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

Beitrag von RHBaum »

Coole Fleissarbeit - nur gut das kde ein ordentliches Buildsystem hat...
Na so viel isses nu auch wieder ned ... ok, ich geb zu ich hab ein template make file, das pass ich nur noch an ^^
und auch vcproj's kann man gut im editor bearbeiten.

Du meinst das buildsystem von KDevel, das hat doch die ganzen QT projectvorlagen, was einem gleich annehmbare makefiles erzeugt ... ??? oder was meinst du.
allein aus dem Grund dass sie sich eben erstmal nicht um irgendwelche Flags für moc oder uic oder was auch immer rumschlagen müssen.
Seh ich ned so ... qmake ist unkomfortabel und fehleranfaellig, leider ...
Den einzigen vorteil den es hat, das es plattformunabhaengig verfuegbar ist.

eine wesentlich Idealere Loesung waere, wenn die Comilerhersteller alle QT als beliebte GUI platform akzeptieren und selber geeignete Plugins erzeugen wuerden ... leider wird dass nur nen traum bleiben.

Noch besser waer ne gescheite bedienbare opensource oder GPL IDE fuer den gcc, die nen buildsystem fuer QT mitbringt.
Also mit code::blocks und dev-cpp stoesst man viel zu schnell an grenzen leider ... :-(
MS beizubringen die Plugin Technologien in den express varianten scharzuschalten, wird auch nen ding der unmoeglichkeit bleiben ...

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

Beitrag von Christian81 »

RHBaum hat geschrieben:
Coole Fleissarbeit - nur gut das kde ein ordentliches Buildsystem hat...
Na so viel isses nu auch wieder ned ... ok, ich geb zu ich hab ein template make file, das pass ich nur noch an ^^
und auch vcproj's kann man gut im editor bearbeiten.

Du meinst das buildsystem von KDevel, das hat doch die ganzen QT projectvorlagen, was einem gleich annehmbare makefiles erzeugt ... ??? oder was meinst du.
Nicht kdevelop - das Buildsystem um z.B. kdevelop zu bauen. Also cmake.

Aber nun genug - ich werde auf solche Fragen demnächst nicht mehr antworten und fertig :)
MfG Christian

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

Beitrag von RHBaum »

Tipps kannst du doch gerne geben
aber
Benutzt qmake anstatt alles selbst in Visual Studio einzutragen! Alles andere ist sinnlos.
Iss halt bissi an der Praxis vorbei :-) leider !

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

Beitrag von Christian81 »

RHBaum hat geschrieben:Tipps kannst du doch gerne geben
aber
Benutzt qmake anstatt alles selbst in Visual Studio einzutragen! Alles andere ist sinnlos.
Iss halt bissi an der Praxis vorbei :-) leider !

Ciao ...
Eben nicht - er ist ein Anfänger, gibt irgendwo ein Zeichen falsch ein und bekommt die sinnlostesten msvc Fehlermeldungen - was ist da besser als erstmal qmake zu benutzen und zu verstehen was moc, uic und co überhaupt machen bevor er sich mit den Parametern rumschalgen muss??
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten