c - fatal error : No such file or directory for header file

标签 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;

}

并且我的包含文件夹包含头文件(这给了我错误) 这就是 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/

相关文章:

javascript - 无法使用 Array.from 将 FileList 转换为 Array 并在 typescript 中传播语法

C Makefile,用不同的规则编译项目的各个部分

c++ - g++ "does not name a type"错误

c - 基本的 Makefile 和头文件依赖

c - 为什么在这种情况下 read() 会阻塞?(linux epoll)

c - 直线与圆柱(环)相交的截距长度

file - Jmeter多文件上传

Java,用户输入文件位置循环

c++ - 可以将 struct timespec 重用于 nanosleep 吗?

c - 指针(内存地址)的值如何根据增量的大小而变化?