2

我正在尝试在我的 iPhone 应用程序中使用 Google 的 v8。如谷歌网站所述,我使用“make arm”构建了这些库。不幸的是,我收到几个链接器错误,告诉我该库是为“存档”而构建的。

终端告诉我图书馆的架构是 i386:

lipo -info  libv8_base.a
input file libv8_base.a is not a fat file
Non-fat file: libv8_base.a is architecture: i386

那么,我该如何构建一个 armv7 库呢?

顺便说一句:我对这个图书馆建设的东西不太了解。也许我只能在实际的 ARM 设备上为 ARM 构建?我不明白为什么我也不能在任何地方下载预建文件。

4

2 回答 2

0

您可以在v8 wiki上找到针对 ARM 进行交叉编译的说明。

在 x86 机器上运行时

make arm

构建一个模拟器,而不是一个实际的 ARM 二进制文件。

如果你有 ARM 硬件,你也可以本地编译一个发布 shell:

scons arch=arm -j2

编辑:
您可能还想了解cross-compilation

于 2012-07-04T15:10:44.453 回答
0

在 v8 源代码中内置了一个 armv7 模拟器。如果你检查 v8/src/arm/ 你会发现模拟器文件。要构建,请确保您的 CC、CXX 和 LINK 指向本机 gcc / g++ 工具。然后做

Make arm.release -j8 

这将用于 arm 并查看 *.gypi 文件以获取更多构建选项。希望这是有用的。

于 2014-08-21T00:44:41.297 回答