Ho una directory principale A
con due sottodirectory B
e C
.Incluso un file di intestazione da un'altra directory
Directory B
contiene un file di intestazione structures.c
:
#ifndef __STRUCTURES_H
#define __STRUCTURES_H
typedef struct __stud_ent__
{
char name[20];
int roll_num;
}stud;
#endif
Directory C
contiene main.c
codice:
#include<stdio.h>
#include<stdlib.h>
#include <structures.h>
int main()
{
stud *value;
value = malloc(sizeof(stud));
free (value);
printf("working \n");
return 0;
}
ma ottengo un errore:
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)
Qual è il modo corretto a inc collegare il file structures.h
a main.c
?
Qual è il compilatore che stai utilizzando? Per gcc dovresti dare un'occhiata al flag -I (vedi la pagina del manuale). Per altri compilatori consulta la documentazione. –