2015-03-05 2 views
1

В настоящее время я запускаю Ubuntu (последняя прошивка) и имею кучу каталогов, которые я сделал для своего c-программирования. Тем не менее, я получаю сообщение об ошибке при компиляции говорит мне, что он не может найти «file.h» файл заголовка В моей основной папке «Temp» каталоги являютсяНеустранимая ошибка: нет такого файла или каталога для файла заголовка

temp 

Тогда:

src bin include assets Makefile 

ЦСИ содержит .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 

И, наконец, активы включают в себя .txt-файл «input.txt», который программа должна просто читать некоторые символы из текстового файла, который находится в каталоге активов. Я пробовал использовать «#include <>», но это, похоже, не помогло. Я также попытался использовать что-то вдоль линий «#include„включают/file.h“, но и это было напрасно

+1

'-I путь/в/ваш/include/folder' до того, как какой-либо из исходных файлов в вашем компиляторе может помочь. – WhozCraig

+0

Я изменил его на: gcc -Wall -pedantic -std = c99 -Iinclude/include src/file.c assets/input.txt -o bin/runMe -lncurses – user20842454566

+0

Но я все равно получаю ту же ошибку – user20842454566

ответ

3

file.h Если в temp каталоге, добавьте к вашей команде в Makefile:.

-Itemp 

И в a.c:

#include <file.h> 

Вы должны использовать #include "file.h"file.h, когда находится в том же каталоге файла, которые включают его

.
Смежные вопросы