Hallo zusammen.
Ich nutze Codeblocks unter Ubuntu 8.04 und sitze grad vor dem Problem, dass eigene Header nicht funktionieren.
Mit Google und der Forum-Suche auf codeblocks.org habe ich jetzt nichts hilfreiches gefunden, deswegen frage ich mal euch:
Ich kann wunderbar eigene Header und Source-Files in mein Projekt mit einfügen (erscheinen im Strukturbaum), aber beim kompilieren sagt gcc:
Fehler: additional.h: No such file or directory
in der main.c steht nur
#include
Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge
Zu Codeblocks im speziellen kann ich jetzt nichts sagen, aber die aufgeführte datei in "*.depend" ist wohl eher eine abhängigkeitsliste, d.h. welche datei hängt von welcher ab und muss ggf. neu kompiliert werden.
Muss ich irgendwelche Optionen ändern?
Eine *.h datei wird ja niemals alleine kompiliert, sondern immer nur in andere eingebunden. Dafür muss sie aber beim kompilieren der darauf angewiesenen dateien gefunden werden. Dazu dient die angabe der "include-pfade", die im vorliegenden fall "/.../bin/" wohl nicht umfassen (btw, eine *.h datei in einem bin-ordner?).
mr.escape
schonmal danke für die Anwort.
Zu dem Ordner:
Ich konnte beim einfügen/erstellen der Datei frei wählen, wo sie hin soll. Habe es auch schon mit dem Hauptverzeichnis meines Programms probiert - aber auch so kommt die gleiche Fehlermeldung.
Bin recht ratlos, vor allem da ich (kaum) Ahnung vom Programmieren unter Linux habe.
Mfg, Hühnerschregga
Edit:
habe grad gesehen, dass ich vergessen habe, was zu schreiben:
in meiner main heißt es natürlich
#include
Zu dem Ordner:
Ich konnte beim einfügen/erstellen der Datei frei wählen, wo sie hin soll.
Das ist nicht das, was ich meine. Üblicherweise kommt quellcode nicht in ordner, die "bin", "lib" oder ähnlich heißen, sondern eher in "source", "inc", "include", "h", "header" und vergleichbare. Hat mit dem problem gar nichts zu tun, kann aber später zu mächtig viel verwirrung führen.
Habe es auch schon mit dem Hauptverzeichnis meines Programms probiert - aber auch so kommt die gleiche Fehlermeldung.
Weil der compiler dort ebenso wenig sucht, wie unter "/.../bin/".
Bin recht ratlos, vor allem da ich (kaum) Ahnung vom Programmieren unter Linux habe.
Hat mit linux gar nichts zu tun, sondern nur mit der korrekten angabe von include-pfaden für den compiler. Das kann für das system im allgemeinen erfolgen (z.b. standard-includes und bestimmte oft verwendete eigene header), für das projekt und für jede einzelne datei separat. Es muss in Codeblocks dafür eine möglichkeit existieren. Zusätzlich solltest du für eigene, d.h. nicht die erwähnten standard-header nicht die form
#include <datei>
sondern
#include "datei"
wählen, weil dann noch zusätzlich und zwar AFAIK zuerst im projekt-ordner gesucht wird. Damit könnte sogar Habe es auch schon mit dem Hauptverzeichnis meines Programms probiert ohne weitere einstellungen/angaben funktionieren.
habe grad gesehen, dass ich vergessen habe, was zu schreiben:
Nein, hast du nicht, dafür aber ein "<" geschrieben, was hier als HTML-tag missverstanden wird. Unter anderem musst du "<" statt "<" schreiben, damit das hier sichtbar wird.
mr.escape
@mr.escape:
Danke für deine Geduld.
Wie sich herrausstellte, lag es an den "<"...
Eigene Header müssen aber anscheinend mit """ eingeführt werden. Jedenfalls funktioniert es jetzt, wenn ich
#include "additional.h"
schreibe.
JUHU! (Man darf sich auch über die kleinen Dinge im Leben freuen ;)
Nochmal ein großes Danke von mir.
Bis denne denn und schönes Wochenende.
Mfg, Hühnerschregga