Как собрать V8 для armv7

Я пытаюсь использовать Google v8 в своем приложении для iPhone. Я создал библиотеки, используя «make arm», как указано на веб-сайте Google. К сожалению, я получаю несколько ошибок компоновщика, говорящих мне, что библиотека создана "для архива".

Терминал говорит мне, что архитектура библиотеки 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? Я не понимаю, почему я не могу просто скачать готовые файлы где угодно.


person HenryLadung    schedule 02.07.2012    source источник
comment
V8 — это своевременный компилятор. Это не будет разрешено в AppStore (поэтому собственное приложение Google Chrome для iOS не использует V8).   -  person vcsjones    schedule 02.07.2012
comment
хорошо, но я все еще хотел бы знать, в чем проблема ..   -  person HenryLadung    schedule 02.07.2012


Ответы (2)


Инструкции по кросс-компиляции для ARM можно найти на вики v8.

При работе на машине x86

make arm

создает симулятор, а не настоящий двоичный файл ARM.

Вы также можете скомпилировать оболочку релиза изначально, если у вас есть аппаратное обеспечение ARM:

scons arch=arm -j2

РЕДАКТИРОВАТЬ:
Вы также можете узнать о кросс-компиляции.

person Rames    schedule 04.07.2012

В исходниках v8 есть симулятор для armv7. Если вы проверите v8/src/arm/, вы найдете файлы симулятора. Для сборки убедитесь, что ваши CC, CXX и LINK указывают на нативные инструменты gcc/g++. А потом сделай

Make arm.release -j8 

Это позволит вам изучить файлы *.gypi для получения дополнительных параметров сборки. Надеюсь, это полезно.

person coder23    schedule 21.08.2014