Verzeichnisstruktur .pro Datei

Alles zu Entwicklungsumgebungen und Editoren für Qt
Antworten
SaLu
Beiträge: 50
Registriert: 18. August 2008 18:06

Verzeichnisstruktur .pro Datei

Beitrag von SaLu »

Hallo ich wollte meine Projekte nun zu einem zusammenfassen und versuche vergeblich das hinzubekommen.
Ich habe mir gedacht das es folgendermasen aussieht.

Code: Alles auswählen

Projekt
|
------main.cpp
------debug (ordner wird erzeugt)
------release (ordner wird erzeugt)
------projekt.pro
------Verzeichnis1
              |
               --------bla.cpp
               --------bla2.cpp
               --------bla.h
               --------bla2.h
               --------verzeichnis1.pro
------Verzeichnis2
              |
               --------blub.cpp
               --------blub2.cpp
               --------blub.h
               --------blub2.h
               --------verzeichnis2.pro
habe versucht in projekt.pro

Code: Alles auswählen

TEMPLATE = subdirs
SUBDIRS  = Verzeichnis1\
                 Verzeichnis2
TARGET = Anwendung
QT += core \
    gui
SOURCES = main.cpp
jedoch ohne erfolg. in den unterverzeichnissen werden auch jeweil debug ordner usw angelegt.
Dazu kommt diese Fehlermeldung

mingw32-make[2]: *** No rule to make target `main.cpp', needed by `debug/main.o'. Stop.
mingw32-make[1]: *** [debug] Error 2
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: Verzeichnisstruktur .pro Datei

Beitrag von brax »

Die Anwendung braucht in ihrem .pro file als TEMPLATE die Angabe "app". Das geht natürlich nicht, weil Du ja das subdirs TEMPLATE benutzt. Ich bin mir nichtmal sicher, ob man beim subdirs template überhaupt sources angeben kann. Ich würde vorschlagen, Deine main.cpp auch in ein subdir zu packen. Funktioniert bei mir wunderbar.
SaLu
Beiträge: 50
Registriert: 18. August 2008 18:06

Re: Verzeichnisstruktur .pro Datei

Beitrag von SaLu »

hm ich habe es mal versucht so umzustellen, aber das Ergebnis ist das gleiche. Überall werden Debug und Release Ordner erstellt.
Und bei meiner Main motzt er rum.

mingw32-make[2]: *** No rule to make target `main.cpp', needed by `debug/main.o'. Stop.

Wie hast du den die .pro Datei angelegt?
brax
Beiträge: 208
Registriert: 11. Mai 2010 11:22

Re: Verzeichnisstruktur .pro Datei

Beitrag von brax »

Ein ganz einfaches Beispiel (nur mit dem einen subdir, in dem main liegt):
Verzeichnisstruktur:

Code: Alles auswählen

Projekt
|
--- projekt.pro
--- app
    |
    --- app.pro
    --- main.cpp
Dann die projekt.pro:

Code: Alles auswählen

TEMPLATE = subdirs
SUBDIRS = app
TARGET = Anwendung
die app.pro:

Code: Alles auswählen

TEMPLATE = app
CONFIG += console
TARGET = app
SOURCES = main.cpp
und die main.cpp:

Code: Alles auswählen

#include <iostream>
using namespace std;
int main(int argc, char** argv) {
	cout << "Hello world" << endl;
}
Das ganze durch qmake und nmake (ich benutze das Visual Studio) kompiliert und die app.exe gibt (wie zu erwarten war) die vielsagende Zeile "Hello world" aus.

Nur um nochmal abzusichern, was Dein Ziel ist: Meines Wissens nach ist das subdirs template dann sinnvoll, wenn Dein Projekt aus mehreren libs bestehen soll, also jedes subdir ein eigenes Target ist. Wenn Du einfach nur Deinen Quellcode in Unterverzeichnissen strukturieren möchtest, solltest Du einfach ein .pro file benutzen, in dem Du alle Sources und Header angibst (mit dem jeweiligen Pfad).
Antworten