gcc-3.3.4的结构不完整类型错误
我尝试了一个简单的例子如下:gcc-3.3.4的结构不完整类型错误,c,linux,gcc,struct,C,Linux,Gcc,Struct,我尝试了一个简单的例子如下: #include <linux/fs.h> struct fakes { struct address_space mapping; }; int main(){ return 0;} 我用gcc-3.3.4这样编译代码:gcc-I/usr/src/kernel-headers-2.4.26-1/include simple.c。但是编译器告诉我一个错误,字段“映射”的类型不完整。此外,我已经查看了文件/usr/src/kernel-header
#include <linux/fs.h>
struct fakes {
struct address_space mapping;
};
int main(){ return 0;}
我用gcc-3.3.4这样编译代码:gcc-I/usr/src/kernel-headers-2.4.26-1/include simple.c。但是编译器告诉我一个错误,字段“映射”的类型不完整。此外,我已经查看了文件/usr/src/kernel-headers-2.4.26-1/include/linux/fs.h,并且结构地址空间没有typedef声明。您如何确定它在该位置使用了头?@IgnacioVazquez Abrams感谢您的回复。你能详细谈谈吗?我已经用gcc-I/usr/src/kernel-headers-2.4.26-1/include simple.c指定了搜索路径。您认为匹配的是什么?@IgnacioVazquez Abrams似乎我错了。例如,如果我将一个名为my.h的文件放在/usr/src/kernel-headers-2.4.26-1/include/linux下并添加include。然后使用-I/usr/src/kernel-headers-2.4.26-1/include进行编译,它报告错误,linux/my.h没有这样的文件或目录。因此,当我使用-I/usr/src/kernel-headers-2.4.26-1/includeUnder/usr/include编译时,include位于何处,当前或接近当前运行内核的文件位于何处。