编译时遇到一个奇怪的错误
#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 在这种情况下失败。