就是这样的错误:
stdio.h:312: error: expected declaration specifiers or 。。。
stdio.h:312: error: expected declaration specifiers or 。。。
不知道是什么问题,,在交叉编译的时候出现。。
也不知道是哪里出了问题,后来在论坛上看到高手的解答,自己试了一下,果然问题就出在这里。分享给你大家,希望互相学习。
出现这个问题是因为头文件的包含顺序引起的。error: expected declaration specifiers or '...' before 这个错误是在Linux下面C语言的头文件包含问题产生的,如果a.h中#include b.h而b.h中的函数声明中用到了a.h中的结构体或者typedef,那么就会出现在包含b.h的时候a.h中的结构体或者typedef还没有声明,从而陷入错误,可以把结构体或者typedef移入到b.h就万事大吉了。(wenruimeng回答的)