Не могу собрать jxcore для Android
Я хотел собрать библиотеки JXcore для Android, и я столкнулся с ошибкой.
Я выполнил все необходимые условия: я использую ubuntu 16.04, с gcc 5.4.0, python 2.7.12,GNU Make 4.1.
Вот шаги, которые я выполнил:
- Я скачал Android ndk, и извлек его в
~/Downloads/android-ndk-r12b
- клонировал библиотеку jxcore в
~/Downloads/jxcore
- cd в jxcore
- побежал
build_scripts/android-configure.sh ../android-ndk-r12b/
этот скрипт успешно завершен - Тогда мне нужно было бежать
build_scripts/android_compile.sh ../android-ndk-r12b/ --embed-leveldown
И я сделал ошибку в последнем шаге, это журнал:
Compiling Android ARM7
Traceback (most recent call last):
File "./configure", line 1119, in <module>
configure_node(output)
File "./configure", line 645, in configure_node
configure_arm(o)
File "./configure", line 569, in configure_arm
elif is_arm_hard_float_abi():
File "./configure", line 491, in is_arm_hard_float_abi
if compiler_version() >= (4, 6, 0):
File "./configure", line 560, in compiler_version
version = tuple(map(int, proc.communicate()[0].split('.')))
ValueError: invalid literal for int() with base 10: 'x\n'
compilation aborted for arm target
Кто-нибудь знает, что вызывает это, или исправить это?
1 ответ
Я столкнулся с той же проблемой. Я сделал быстрое и грязное исправление, чтобы начать.
Откройте файл "configure" в вашей папке jxcore. Перейдите к строке 560, как в последней записи в вашем журнале. Закомментируйте строку 560 с # перед. Вставьте измененную версию этой строки, как показано ниже:
строка 560: #version = tuple(map(int, proc.communicate()[0].split('.')))
строка 561: version = tuple(map(int, "4.9.0".split('.')))
... в основном происходит то, что ваша версия CC выглядит примерно как "4.9.x", а когда Python не может преобразовать "x" в целое число, процесс останавливается. Я просто заменил "х" на "0". Однако вы можете проверить свою версию, чтобы быть в безопасности. Поэтому место print proc.communicate()[0]
прямо перед строкой 560, прежде чем вносить другие изменения. Тогда ваш фактический номер версии будет напечатан в вашем журнале, когда вы снова запустите программу.
Я надеюсь, что это может помочь вам.