使用offsetof并将termios.h与android ndk一起使用时,存储大小不会保持不变

时间:2013-01-09 11:13:53

标签: c android-ndk compiler-errors

编译时遇到一个奇怪的错误

#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在这种情况下失败。

0 个答案:

没有答案