当前位置: 技术问答>linux和unix
gcc不能识别结构体struct ifreq.
来源: 互联网 发布时间:2017-05-29
本文导语: 程序已经包含了 #include 然后再主程序中使用: struct ifreq ifVec[MAX_IF]; 编译出错: error: array type has incomplete element type | 试着简单复现楼主的问题: $cat f.c #include int main(void) { ...
程序已经包含了
#include
然后再主程序中使用:
编译出错:
#include
然后再主程序中使用:
struct ifreq ifVec[MAX_IF];
编译出错:
error: array type has incomplete element type
|
试着简单复现楼主的问题:
$cat f.c
#include
int main(void)
{
struct ifreq ifVec[1000];
return 0;
}
$gcc -std=c99 f.c
f.c: In function ‘main’:
f.c:5:17: error: array type has incomplete element type
$gcc f.c
如果和楼主的情况一致,原因就是预编译后你的struct 定义可能完全没有了,对于没有定义的struct 当然是incomplete type了
楼主试试 “gcc -E -std=c99 f.c” 和 “gcc -E f.c" 有何不同就是知道了
$cat f.c
#include
int main(void)
{
struct ifreq ifVec[1000];
return 0;
}
$gcc -std=c99 f.c
f.c: In function ‘main’:
f.c:5:17: error: array type has incomplete element type
$gcc f.c
如果和楼主的情况一致,原因就是预编译后你的struct 定义可能完全没有了,对于没有定义的struct 当然是incomplete type了
楼主试试 “gcc -E -std=c99 f.c” 和 “gcc -E f.c" 有何不同就是知道了
|
我试过没有问题啊