Запустите Wax на 64-битной iOS с архитектурой arm64

Я застрял в этой проблеме на много дней.

Воск ( https://github.com/probablycorey/wax поддерживает только архитектуру armv7 и armv7s, но в моем проекте используется архитектура arm64.

Сообщение об ошибке "Ошибка открытия сценариев воска: загрузка воска stdlib: неверный заголовок в скомпилированном чанке".

Поэтому я думаю, что проблема в wax_stdlib.h. Однако этот файл является предварительно скомпилированным результатом сценариев lua в stdlib ducoment, и я не знаю, как предварительно скомпилировать сценарии lua в 64-битной версии.

Как я могу это исправить?

3 ответа

Потому что ваш проект использует архитектуру arm64, а wax_stdlib.h был предварительно скомпилирован в 32 бита...

Итак, вам просто нужно предварительно скомпилировать wax stdlib в 64-битной версии.

во-первых, вам нужно скачать исходный код lua и cd в каталог src, сделать его в 64-битном и установить

тогда вы должны изменить файл luac.lua

- 64 b = string.sub(b, 1, x - 6 - 4).."\0"..string.sub(b, y + 2, y + 5) - WTF это делает?

- 32 - b = string.sub(b, 1, x - 6).."\0"..string.sub(b, y + 2, y + 5) - WTF это делает?

- 64 утверждения (f: write (string.rep ("\ 0", 3 * 8)))

- 32 - assert(f:write(string.rep("\0", 12)))

и запустите compile-stdlib.sh...

если вам это нравится, он может работать, но я действительно советую вам не использовать воск в 64-битной среде, потому что он не поддерживает 64-битную.. вы найдете больше проблем

Вместо этого используйте JSPatch, возможно, хороший способ.

Здесь есть ветвь воска с обновлениями для ARM64 (и x64) - не ясно, насколько хорошо он протестирован, но это может быть полезно.

https://github.com/felipejfc/wax_x86-64

Другие вопросы по тегам