【发布时间】:2011-11-26 17:46:29
【问题描述】:
我有一个主目录A 和两个子目录B 和C。
目录B包含一个头文件structures.c:
#ifndef __STRUCTURES_H
#define __STRUCTURES_H
typedef struct __stud_ent__
{
char name[20];
int roll_num;
}stud;
#endif
目录C 包含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;
}
但我得到一个错误:
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)
将structures.h 文件包含到main.c 中的正确方法是什么?
【问题讨论】:
-
您使用的编译器是什么?对于 gcc,您应该查看 -I 标志(请参阅手册页)。对于其他编译器,请查看文档。
标签: c compiler-errors include c-preprocessor