• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] make Steuerdatei

kschrader

Member
Hallo,
ich möchte mir gerne das Programmieren mit C++ aneignen.
Habe mir dafür so ein Handbuch gekauft und wie dort vorgeschlagen in xemacs das folgende Programm geschrieben:

#include <iostream>

using namespace std;
int main ()
{
cout << "Hallo Welt";
}

Jedoch kommt beim Kompilieren die Fehlermeldung

make: ***Keine Targets angegeben und keine make-Steuerdatei gefunden Schluss

Ich dachte erst, dass make vielleicht nicht installiert ist, ist es aber.
Weiß jemand Rat?

Vielen Dank,
Konstantin

P.s: ich nutze openSuse 11.0 mit KDE 4.3.1
 

derMani

Hacker
Hallo kschrader,

die Fehlermeldung ist absolut plausibel und zeigt, dass du evt. nochmal das Kapitel über die Kompillierung und Ausführung eines C++ -Programms lesen solltest :).

Also, du hast dir eine *.cpp-Datei angelegt mit dem oben stehenden Inhalt...

Damit hast du die Datei also erstmal im Quellcode vorliegen, das heißt in einer abstrakten Sprache, die Menschen verstehen können. Nun musst du erstmal deinen C++ Compiler über diese Datei jagen, damit der Inhalt in eine Sprache übersetzt wird, mit der (grob gesagt) dein Computer etwas anzufangen weiß.

Wenn du c+ programme unter openSUSE kompillieren willst, benötigst du dafür das Paket gcc-c++

Nach der Installation des Paketes kannst du loslegen und deine c++-Datei mit dem folgenden Befehl kompillieren

Code:
g++ dateiname.cpp
(dateiname.cpp steht hier für die Datei, die deinen Quellcode enthält)

Wenn du nun mal
Code:
ls
eingibst, wirst du sehen, dass eine Datei a.out erstellt wurde.
Diese Datei ist dein fertiges kompillat und ausführbares Programm.

Testen kannst du das ganze dann mit

Code:
./a.out

Und siehe da, das "Hallo Welt" erscheint auf dem Bildschirm ;-)


Ich denke du hast rein aus Gewohnheit (um etwas zu kompillieren) stumpf make eingegeben, oder?

Das bringt's aber so nicht, weil dir die benötigte Make-File fehlt.
Eine Make file ist sozusagen ein Batchlauf um gewisse Dinge zu automatisieren. Du hast vorhin gesehen, dass du deinen quellcode erst kompillieren musst, damit er läuft. Wenn du viele Dateien hast, ist es natürlich äußerst anstrengend alles händisch einzugeben und genau hier setzt dann das Prinzip der make file an...
Man automatisiert Kompillierungsprozesse und führt anstelle vieler Befehle nur noch die einzelne make file aus.
Da du aber keine Make-File zuvor erstellt hast ist die geworfene Fehlermeldung

make: ***Keine Targets angegeben und keine make-Steuerdatei gefunden Schluss

somit absolut korrekt und verständlich.

Siehe hierfür auch: http://de.wikipedia.org/wiki/Make

Gruß
Mani
 
Oben