我有一个奇怪的问题。我已经阅读了我能找到的所有文章,我认为我做的一切都是正确的:
我在头文件 a.h
中定义了一个结构体
typedef struct{
int io;
} apa;
这个文件位于一个文件夹中,比方说 src/model
此外,在根目录中我有主文件,其中包含如下头文件:
#include "a.h"
int main(){
apa X;
return 0;
}
当我根据 -Isrc/model
使用带有 I-flag
的 gcc 编译它时
我收到错误编译警告:
'apa' undeclared (first use in this function)
(Each undeclare identifier is reported only once for each function it appears in)
X undeclared (first use in this function)
我似乎找不到问题所在。感谢帮助。
最佳答案
如果主文件与头文件位于不同的文件夹中,则应提及头文件与主文件的总路径。
例如)
#include "/src/model/a.h"
关于使用 C 使用头文件中定义的结构时出现编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15838132/