Schwerwiegender Fehler: Keine solche Datei oder das Verzeichnis für die header-Datei
Bin ich derzeit unter Ubuntu (neueste firmware) und habe ein paar Verzeichnisse, die ich gemacht habe für mein c-Programmierung. Allerdings bin ich mir immer einen Fehler beim kompilieren sagt mir, dass es nicht finden können, die " - Datei.h" header-Datei,
In meinem main-Ordner "temp"
die Verzeichnisse sind wie folgt
temp
Dann:
src bin include assets Makefile
src enthält .c-Datei:
#include "file.h"
int main(void)
{
initscr();
noecho();
cbreak();
char ch;
FILE * ptr;
ptr = fopen("input.txt","r");
if (ptr == NULL)
{
mvprintw(0,0,"Error reading from file");
exit(1);
}
while( ( ch = fgetc(ptr) ) != EOF )
mvprintw(0,0,"%c",ch);
refresh();
fclose(ptr);
return 0;
}
und meinem include-Ordner enthält die Header-Datei(die gibt mir die Fehlermeldung)
Das ist das, was Datei.h enthält...
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ncurses.h>
Ich habe auch ein makefile wie folgt:
all:
gcc -Wall -pedantic -std=c99 src/file.c assets/input.txt -o bin/runMe
Und schließlich Kapital .txt-Datei "input.txt" das ist das Programm soll nur zu Lesen, die Zeichen aus der text-Datei, die im Verzeichnis "assets". Ich habe versucht, mit der "#include < >" - notation, aber das schien nicht zu helfen. Ich habe auch versucht, etwas entlang der Linien von "#include "include/Datei.h", aber auch ohne Erfolg.
-I path/to/your/include/folder
bevor die source-Dateien in Ihrem compiler kann helfen.Ich habe es geändert : gcc-Wall -pedantic-std=c99 -Iinclude/include src/file.c assets/input.txt -o bin/runMe -lncurses
Aber ich bekomme immer noch den gleichen Fehler
Warum hast du zwei include-Verzeichnisse,
include/include
? Es scheint, wie Sie wollen, nur -Iinclude
basierend auf Ihrer Verzeichnis-Struktur. Sollten Sie die #include "file.h"
syntax, nicht #include <file.h>
.InformationsquelleAutor user20842454566 | 2015-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn
file.h
ist intemp
Verzeichnis, fügen Sie den Befehl in derMakefile
:Und in
a.c
:Sollten Sie verwenden
#include "file.h"
wennfile.h
im selben Verzeichnis der Datei, die Sie.InformationsquelleAutor Coconop