【发布时间】:2018-03-20 22:37:11
【问题描述】:
我正在使用doc 在 MAC 上构建 AOSP(Android 开源项目),虽然有一些问题我可以通过谷歌来解决,但一切正常。
当我执行make时,出现错误:
Yacc:aidl
prebuilts/misc/darwin-x86/bison/bison -d -o out/host/darwin-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp 框架/base/tools/aidl/aidl_language_y.y
make: *** [out/host/darwin-x86/obj/EXECUTABLES/aidl_intermediates/aidl_language_y.cpp] 非法指令:4
我用谷歌搜索太多,我尝试安装 bison,但它对我不起作用。
环境:
Mac SDK : 10.11
Mac OS : 10.13
Android : 6.0.1
JDK : 1.7
XCode : 8.3
make : 3.81
谁能帮帮我?提前致谢。
更新
我也尝试将XCode 降级到 7.3.1,但它仍然无法正常工作。
更新兼容性
file prebuilts/misc/darwin-x86/bison/bison
输出:prebuilts/misc/darwin-x86/bison/bison: Mach-O executable i386
uname -a
输出:root:xnu-4570.1.46~2/RELEASE_X86_64 x86_64
【问题讨论】:
-
显然,有人说
4是非法指令。你看过aidl_language_y.cpp文件吗?它看起来像野牛生成的 C++ 解析器吗?如果您将此文件移出构建树并再次尝试make,会发生什么情况? -
您的意思是删除文件并重新制作吗? @RenaudPacalet
-
不,不要删除文件(你永远不知道)。把它移到别处,然后再试一次。如果需要,您会将其移回。
-
我很抱歉留下一些日志,我刚刚更新了我的问题。没有
aidl_language_y.cpp。 -
好的,如果你尝试执行
prebuilts/misc/darwin-x86/bison/bison --version会发生什么?
标签: android c++ xcode macos makefile