0

嗨,我在 android 2.3.4 源代码中尝试 make libdvm 时遇到以下错误,

external/elfutils/libebl/eblobjnote.c:43:17: error: fields must have a constant size: 'variable length array in structure' extension will never be supported
              uint32_t version[descsz / 4 - 1];

这是 gcc 4.2 在我的 mac os x 山狮上报告的真正的 c 错误。我猜 gcc 4.2 和 android 2.3.4 的源代码有些不兼容。我不得不改变一些事情来使编译达到这一点。我不知道使用哪个 gcc 版本来编译代码,但 gcc 4.2 经常在代码中发现错误。

谁能告诉我如何处理这些错误,或者在最坏的情况下我应该使用哪个 gcc 版本以及如何在 mac os x 中降级到该特定版本?

4

1 回答 1

0

好吧,我发现了问题所在。实际上,CC 与 clang 而不是 gcc 相关联,而 clang 的限制更大。我使用 gcc 而不是 clang,问题解决了。尽管还有其他一些编译错误,我相信该项目是使用 4 之前的 gcc 编译的,因为我发现的错误是由 gcc 报告的。

于 2013-10-18T09:42:30.263 回答