gpt4 book ai didi

android-ndk - 为 Android 构建 V8 时找不到 sys/cdefs.h

转载 作者:行者123 更新时间:2023-12-04 22:31:13 25 4
gpt4 key购买 nike

我正在尝试为 Android 构建 V8(通过 https://code.google.com/p/v8/wiki/D8OnAndroid ):

svn checkout http://v8.googlecode.com/svn/trunk/ v8
cd v8
make dependencies
ANDROID_NDK_ROOT="/home/bart/software/android-ndk-r9d" make android_arm.release

但是,最后一个命令失败了:
make[1]: Entering directory `/home/bart/Desktop/v8'
make[2]: Entering directory `/home/bart/Desktop/v8/out'
AR(target) /home/bart/Desktop/v8/out/android_arm.release/obj.target/tools/gyp/libv8_base.arm.a
CXX(host) /home/bart/Desktop/v8/out/android_arm.release/obj.host/v8_base.arm/src/accessors.o
In file included from /usr/include/stdio.h:27:0,
from ../src/../include/v8stdint.h:11,
from ../src/../include/v8.h:18,
from ../src/v8.h:29,
from ../src/accessors.cc:5:
/usr/include/features.h:374:25: fatal error: sys/cdefs.h: No such file or directory
# include <sys/cdefs.h>
^
compilation terminated.
make[2]: *** [/home/bart/Desktop/v8/out/android_arm.release/obj.host/v8_base.arm/src/accessors.o] Error 1
make[2]: Leaving directory `/home/bart/Desktop/v8/out'
make[1]: *** [android_arm.release] Error 2
make[1]: Leaving directory `/home/bart/Desktop/v8'
make: *** [android_arm.release] Error 2

丢失的文件 sys/cdefs.h 。存在于 NDK/platforms/*/arch-arm/usr/include ,但显然编译器找不到它。我错过了一步吗?

更新 :经过仔细检查,看起来编译器正在从我的主机系统(即 Linux)读取 /usr/include/features.h 。这似乎不合适,所以是的,我是否遗漏了一个应该将过程指向 NDK/platforms/*/arch-arm 的步骤?

我正在使用 NDK 9d (Linux x86_64)

最佳答案

经过更多的挖掘,我发现 V8 的构建过程既有目标步骤,也有宿主步骤。我只需要在我的主机系统 ( apt-get install libc6-dev-i386 g++-multilib ) 上安装丢失的文件,然后编译就成功了。

现在,我仍然不明白为什么需要宿主提供任何东西,但我还是会接受这次胜利。

关于android-ndk - 为 Android 构建 V8 时找不到 sys/cdefs.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23781983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com