Я пытаюсь скомпилировать Tremolo для iPhone. Я потянул файлы bitwise.c bitwiseARM.s codebook.c dpen.s dsp.c floor0.c floor1.c floor1ARM.s floor_lookup.c framing.c info.c mapping0.c mdct.c mdctARM.s misc .c res012.c в новую цель, добавлены следующие пользовательские настройки:Строительство ARM ассемблер vorbis decoder lib 'Tremolo' для iPhone
GCC_PREPROCESSOR_DEFINITIONS = _ARM_ASSEM_
GCC_C_LANGUAGE_STANDARD = gnu99
GCC_THUMB_SUPPORT = YES
... но как только Xcode достигает первого файла на ассемблере, bitwiseARM.s, я получаю ошибки, подобные этим:
/tremolo/bitwiseARM.s:3:Unknown pseudo-op: .global
/tremolo/bitwiseARM.s:3:Rest of line ignored. 1st junk character valued 111 (o).
/tremolo/bitwiseARM.s:4:Unknown pseudo-op: .global
/tremolo/bitwiseARM.s:4:Rest of line ignored. 1st junk character valued 111 (o).
/tremolo/bitwiseARM.s:5:Unknown pseudo-op: .global
/tremolo/bitwiseARM.s:5:Rest of line ignored. 1st junk character valued 111 (o).
/tremolo/bitwiseARM.s:6:Unknown pseudo-op: .global
/tremolo/bitwiseARM.s:6:Rest of line ignored. 1st junk character valued 111 (o).
/tremolo/bitwiseARM.s:11:bad instruction `STMFD r13!,{r10,r11,r14}'
/tremolo/bitwiseARM.s:12:bad instruction `LDMIA r0,{r2,r3,r12}'
/tremolo/bitwiseARM.s:16:bad instruction `SUBS r2,r2,r1'
/tremolo/bitwiseARM.s:17:bad instruction `BLT look_slow'
/tremolo/bitwiseARM.s:19:bad instruction `LDR r10,[r3]'
Первая ошибка, с которой я мог пойти в Google, и изменение .global на .globl зафиксировали первые ошибки, но я все равно получаю плохие инструкции, и я не понимаю почему. Googling для набора инструкций ARM, приведенные выше инструкции выглядят действительными для меня. Я попытался перевернуть поддержку большого пальца и построить для armv7 вместо armv6, но ни один из них не помог.
Этот скрипт доступен где-то в наличии? Я пытаюсь собрать тремоло для iOS, но пока не повезло. – Peterdk
В качестве обходного пути вы можете удалить все файлы .s из библиотеки и построить с флагом c «ONLY_C = 1». Таким образом, вы получаете рабочий декодер ogg, который работает с ov_open_callbacks. – Peterdk