编译时遇到一个奇怪的错误
#include <termios.h>
#include <stddef.h>
struct Test {
int a;
int b;
};
void test() {
static int test_array[(offsetof(struct Test,a)) > 0 ? 2 : 1];
}
使用arm-linux-androideabi-gcc -c:
test.c:8:13: error: storage size of 'test_array' isn't constant
关于这个的奇怪之处在于,当我删除
时#include <termios.h>
整个事情编译没有错误。此外,当我使用安装在我的ubuntu系统上的gcc时,它不会独立于包括termios.h而抱怨。 Ayone任何想法为什么?
背景:我正在尝试编译ghc(glasgow haskell编译器)android交叉编译器,并且hs2hsc在这种情况下失败。