Archiv verlassen und diese Seite im Standarddesign anzeigen : eigene Headerdateien erstellen
Hallo zusammen,
ich habe gestern schon wieder ein Problem entdeckt;-)) Wie geht das mit der Erstellung eigener Headerdateien vor sich?
Ich bin wie folgt vorgegangen:
Erstellung einer Datei "stefan.h" mit folgendem Inhalt:
# include <stdio.h>
# define CLS printf("\033[2J")
danach in einer Datei
...
# include <stefan.h>
int main()
{
CLS;
}
das ganze kompaliert (ohne Fehlermeldungen) und dann gestartet. Leider läuft das Programm nicht. Was mache ich da falsch???
Gruß und Danke
Stefan
TheJudger
02-11-2000, 11:30
moin moin
ich kann deinen Text zwar nicht vollkommen lesen,
wahrscheinlich hast du aber
#include < stefan.h >
versucht ...
es sollte mit
#include"stefan.h"
funktionieren ..
"Muss" ist nicht ganz korrekt. Denn eigene Headerdateien können durchaus in <...> angegeben werden. Allerdings muss i.A. dem Compiler dann explizit gesagt werden, wo er die Dateien zu suchen hat ("-L /include-Pfad").
Bei Angabe von <...> sucht ein Compiler die Datei in Standardpfaden. Dies schließt das aktuelle Verzeichnis NICHT ein.
Mit "..." sucht der Compiler die Datei ausgehend vom aktuellen Verzeichnis (bzw. wenn die Datei als absoluter Pfad angegeben wird, in diesem).
Thomas
Hallo Tommy,
dann ist aber doch folgende Tatsache komisch! Wenn ich als root die Datei nach
/usr/include
kopiere funktioniert das Programm trotzdem nicht! Und auch mit der kompletten Pfadangabe hat die Sache leider nicht funktionukkelt!
Gruß
Stefan
Sorry,
ich vergaß html! Wieso muß man denn eigene Bibliotheken mit " einbinden???
Stefan
Ein kleiner Fehler ist mir unterlaufen...
Ausgangspunkt seien zwei Dateien "foo.c" und "foo.h".
Bindest Du foo.h via
<pre>
#include <foo.h>
</pre>
ein, so lautet den Compileraufruf:
<pre>
gcc foo.c -I./
</pre>
Du teilst dem Compiler also mit, dass er im aktuelle Pfad ebenso nach includes Ausschau hält (im vorherigen Posting hatte ich versehentlich "-L" geschrieben, diese Angabe betrifft aber den Bibliothekspfad)
Die Angabe von "-I./" kann entfallen, wenn "foo.h" in einem Standardpfad liegt (bspw. in /usr/include). Wenn das bei Dir nicht geht, ist etwas anderes faul.
Thomas
Hi,
wie ich sagte, bei mir klappt das auch nicht wenn ich die Datei in den Standartpfad kopiere. Und das für mich komischte überhaupt ist, daß der Compiler keinerlei Fehlermeldungen verursacht! Hast Du also noch ne andere Idee an was das liegen könnte? In meinem Programm müßte eigentlich nach dem Löschen des Screens einfach eine Meldung "Hallo Welt" oder so ausgegeben werden, aber es passiert gar nix! Oder muß ich vielleicht nach dem "Säubern" auch den Cursor neu positionieren???
Stefan
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.