我正在尝试在我的iPhone应用程序中使用Google的v8。 我使用Google的网站上所述的“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?我不明白为什么我不能在任何地方下载预建文件。答案 0 :(得分:0)
您可以在v8 wiki上找到针对ARM进行交叉编译的说明。
在x86机器上运行时
make arm
构建模拟器,而不是实际的ARM二进制文件。
如果您有ARM硬件,也可以本机编译发行版shell:
scons arch=arm -j2
编辑:
您可能还想了解cross-compilation。
答案 1 :(得分:0)
v8源代码中内置了armv7模拟器。如果你检查v8 / src / arm /,你会发现模拟器文件。 要构建,请确保您的CC,CXX和LINK指向本机gcc / g ++工具。然后做
Make arm.release -j8
这将使arm和查看* .gypi文件以获得更多构建选项。希望这很有用。