Mam główny katalog A
z dwoma podkatalogami B
i C
.W tym plik nagłówkowy z innego katalogu
katalog B
zawiera plik nagłówka structures.c
:
#ifndef __STRUCTURES_H
#define __STRUCTURES_H
typedef struct __stud_ent__
{
char name[20];
int roll_num;
}stud;
#endif
katalog C
zawiera kod main.c
:
#include<stdio.h>
#include<stdlib.h>
#include <structures.h>
int main()
{
stud *value;
value = malloc(sizeof(stud));
free (value);
printf("working \n");
return 0;
}
ale pojawia się błąd:
main.c:3:24: error: structures.h: No such file or directory
main.c: In function ‘main’:
main.c:6: error: ‘stud’ undeclared (first use in this function)
main.c:6: error: (Each undeclared identifier is reported only once
main.c:6: error: for each function it appears in.)
main.c:6: error: ‘value’ undeclared (first use in this function)
Co to jest poprawny sposób do inc lude plik structures.h
do main.c
?
Jaki jest używany kompilator? W przypadku gcc powinieneś rzucić okiem na flagę -I (patrz strona podręcznika). W przypadku innych kompilatorów zapoznaj się z dokumentacją. –