Seite 1 von 1

Tutorial make Fehler Kommandozeile.

Verfasst: Do Mär 07, 2013 7:19 pm
von vrcmr
Das bekomme ich wenn ich die Datei main.cpp ändere und versuche "hello world" Fenster zu machen.
Zuerst funktioniert alles wenn ich:

mkdir first
main.cpp mit dem Inhalt erstelle:

Code: Alles auswählen

#include <QApplication>
 
int main( int argc, char *argv[] )
{
  QApplication app( argc, argv );
  return app.exec();
}
qmake -project
qmake
make
./main.o

erhalte ich keine Fehlermeldungen.

Sobald ich den Inhalt so ändere:

Code: Alles auswählen

#include <QApplication>
#include <QLabel>
 
int main( int argc, char *argv[] )
{
  QApplication app( argc, argv );
  QLabel label( "<h1>Hallo Welt!</h1>" );
  label.show();
  return app.exec();
}
und danach im terminal:
qmake
make
ausführe bekomme ich diese Fehlermeldung.

Code: Alles auswählen

 make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.cpp
main.cpp:1:1: Fehler: »lude« bezeichnet keinen Typ
main.cpp: In Funktion »int main(int, char**)«:
main.cpp:6:25: Fehler: Variable »QApplication app« hat Initialisierung, aber unvollständigen Typ
make: *** [main.o] Fehler 1
vrcmr@vrcmr-ThinkPad-T61:~/qt/first$ 
Insgesamt ist die Beschreibung der Kommandozeile etwas verwirrend. Besser wäre z.B die Beschreibung nur für Ubuntu zu schreiben. Aber nachvollziehbar.

In der Grafischen Oberfläche funktioniert alles soweit. Auch wenn ein Fehler angezeigt wird.

Re: Tutorial make Fehler Kommandozeile.

Verfasst: Do Mär 07, 2013 7:49 pm
von Bebu
main.cpp:1:1: Fehler: »lude« bezeichnet keinen Typ
Kuck mal deine Includes oben an, ich denke da ist irgendwo ein Schreibfehler!?

Re: Tutorial make Fehler Kommandozeile.

Verfasst: Do Mär 07, 2013 8:43 pm
von vrcmr
Ohh man. Danke für die Hilfe. :oops:

Noch eine Sache.

Wenn ich jetzt ./main.o ausführen will. Meldet er mir "Keine Berechtigung"

Re: Tutorial make Fehler Kommandozeile.

Verfasst: Do Mär 07, 2013 9:40 pm
von nufan
vrcmr hat geschrieben:Wenn ich jetzt ./main.o ausführen will. Meldet er mir "Keine Berechtigung"
Die ausführbare Datei heißt auch "main" und nicht "main.o".
vrcmr hat geschrieben:Insgesamt ist die Beschreibung der Kommandozeile etwas verwirrend.
Was genau findest du verwirrend?

Re: Tutorial make Fehler Kommandozeile.

Verfasst: Do Mär 07, 2013 10:55 pm
von vrcmr
Mehrfachangaben wie
make, gmake, etc. # Kompilieren

besonders etc. :)

Re: Tutorial make Fehler Kommandozeile.

Verfasst: Fr Mär 08, 2013 3:36 pm
von Xin
vrcmr hat geschrieben:Mehrfachangaben wie
make, gmake, etc. # Kompilieren

besonders etc. :)
Das sind keine Mehrfachangaben. "qmake" erstellt das Makefile, "make" arbeitet das Makefile ab.
Und ein etc. ist mir hier eigentlich nicht mehr bekannt, denn nun solltest Du das Programm ausführen können.

Wenn das also zu einer Frage werden soll, müsstest Du die etwas genauer formulieren.

Re: Tutorial make Fehler Kommandozeile.

Verfasst: Fr Mär 08, 2013 3:56 pm
von vrcmr
das mit make ist klar mit etc. ist auch klar.

gmake verstehe ich nicht. Ist das für mac linux oder windows?

Ich versuche nur feedback zu geben. Ich weis nicht wie viele das Tutorial schon durchgegangen sind. Aber ich würde es so umschreiben.

Kommandozeile
Nun führen wir folgende Reihe an Befehlen aus:

Für Linux und mac

Code: Alles auswählen

qmake -project    # Projektdatei anlegen
qmake                 # Makefile anlegen
make                   # Kompilieren
./first                  # Ausführen
Für Windows

Code: Alles auswählen

qmake -project     # Projektdatei anlegen
qmake                  # Makefile anlegen
gmake                  # Kompilieren
first.exe               # Ausführen
Ich weiß zwar nicht ob das alles so richtig ist, aber so eine Struktur ist übersichtlicher.

Ich habe z.B. den Fehler gemacht, dass ich die Datei main.o ausführte anstatt ./first einzugeben.

Re: Tutorial make Fehler Kommandozeile.

Verfasst: Fr Mär 08, 2013 4:51 pm
von Xin
vrcmr hat geschrieben:das mit make ist klar mit etc. ist auch klar.
gmake verstehe ich nicht. Ist das für mac linux oder windows?
Sollte qmake heißen.
vrcmr hat geschrieben:Ich versuche nur feedback zu geben. Ich weis nicht wie viele das Tutorial schon durchgegangen sind. Aber ich würde es so umschreiben.

Kommandozeile
Nun führen wir folgende Reihe an Befehlen aus:

Für Windows

Code: Alles auswählen

qmake -project     # Projektdatei anlegen
qmake                  # Makefile anlegen
gmake                  # Kompilieren
first.exe               # Ausführen
Ich weiß zwar nicht ob das alles so richtig ist, aber so eine Struktur ist übersichtlicher.
Ich habe es für Windows nie durchgegangen, ich habe mit Linux und Mac gespielt.
vrcmr hat geschrieben:Ich habe z.B. den Fehler gemacht, dass ich die Datei main.o ausführte anstatt ./first einzugeben.
Gut, das ist jetzt kein Qt-Problem, sondern nur ein kleiner Irrtum. Das kann man auch nicht ins Tutorial packen, bei sowas muss man dann wirklich nachfragen, sonst wird das Tutorial zu voll.

Re: Tutorial make Fehler Kommandozeile.

Verfasst: Fr Mär 08, 2013 8:14 pm
von nufan
Xin hat geschrieben:
vrcmr hat geschrieben:das mit make ist klar mit etc. ist auch klar.
gmake verstehe ich nicht. Ist das für mac linux oder windows?
Sollte qmake heißen.
Ähm... nein. Auf irgendeinem System hieß es gmake (für GNU-Make), ich denke es war FreeBSD.