1

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

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

4

0 回答 0