我目前正在运行 Ubuntu(最新的固件),并且有一堆我为 C 编程制作的目录。但是,我在编译时遇到错误,告诉我找不到“file.h”头文件 在我的主文件夹“temp”中 目录如下
temp
然后:
src bin include assets Makefile
src 包含一个 .c 文件,该文件是:
#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;
}
并且我的包含文件夹包含头文件(这给了我错误) 这就是 file.h 包含的内容...
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ncurses.h>
我还有一个 makefile,如下所示:
all:
gcc -Wall -pedantic -std=c99 src/file.c assets/input.txt -o bin/runMe
最后, Assets 包括一个 .txt 文件“input.txt”,程序应该从 Assets 目录中的文本文件中读取一些字符。我尝试过使用“#include < >”符号,但这似乎没有帮助。我还尝试使用类似“#include”include/file.h”的内容,但也无济于事。
最佳答案
如果 file.h
位于 temp
目录中,请添加到 Makefile
中的命令:
-Itemp
在a.c
中:
#include <file.h>
当 file.h
与包含它的文件位于同一目录时,您应该使用 #include "file.h"
。
关于c - fatal error : No such file or directory for header file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28869985/