致命错误:头文件没有此类文件或目录

时间:2015-03-05 04:24:17

标签: c file makefile header ncurses

我目前正在运行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;

}

和我的include文件夹包含Header文件(它给我错误) 这就是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

最后资产包括一个.txt文件“input.txt”,该程序只是从文本文件中读取一些字符,这些字符位于assets目录中。我尝试过使用“#include&lt;&gt;”符号,但似乎没有帮助。我也尝试使用“#include”include / file.h“这样的东西”,但也没有用。

1 个答案:

答案 0 :(得分:3)

如果file.h位于temp目录中,请在Makefile中添加到您的命令中:

-Itemp

a.c

#include <file.h>

#include "file.h"位于包含它的文件的同一目录中时,您应该使用file.h