简体   繁体   中英

How to build V8 for armv7

i'm trying to use Google's v8 in my iPhone Application. I built the libraries using "make arm" as stated on Google's website. Unfortunately I get several linker errors telling me that the library is build "for archive".

The terminal tells me that the library's architecture is 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

So, how do I actually build a armv7 library?

BTW: I don't really know much about this library building stuff. Maybe I can only build for ARM on an actual ARM device? I don't get why I can't just download the prebuilt files anywhere, too.

You can find instructions to cross-compile for ARM on the v8 wiki .

When running on an x86 machine

make arm

builds a simulator, not an actual ARM binary.

You can also compile a release shell natively if you have ARM hardware:

scons arch=arm -j2

EDIT:
You may also want to learn about cross-compilation .

There is a simulator for armv7 built in the v8 source. If you check v8/src/arm/ you will find simulator files. To build, make sure your CC, CXX and LINK are point to native gcc / g++ tools. And then do

Make arm.release -j8 

This will make for arm and look into *.gypi files for more build options. Hope this is useful.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM