Как я могу скомпилировать lame как статическую библиотеку (.a) для armv6 и armv7 iPhone?

LAME (http://lame.sourceforge.net/) - это библиотека, написанная на языке c. Он может конвертировать звуковые файлы PCM в файлы MP3. Я использую его для преобразования звуковых файлов в файлы MP3 на iPhone. Исходные звуковые файлы PCM записываются с помощью микрофона.

Чтобы включить LAME в мой проект XCode, мне нужно скомпилировать LAME в 3 статические библиотеки (.a) для i386 (симулятор IOS), armv6 и armv7.

После долгих поисков я успешно создал статическую библиотеку для версии i368 (iOS Simulator). Вот команды:

./configure \
    CFLAGS="-isysroot  /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk" \
    CC="/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc -arch i386" \
    --prefix=/Volumes/Data/test/i386 \
    --host="arm-apple-darwin9"

make && make install

Проблема в том, что я не могу скомпилировать для armv6 и armv7. Я пробовал эту команду, но она сообщает об ошибке. Есть ли у кого-нибудь решения?

./configure \
    CFLAGS="-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk" \
    CC="/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6" \
    --prefix=/Volumes/Data/test/arm6 \
    --host="arm-apple-darwin9"

make && make install

Ошибка:

console.c:25:21: error: curses.h: No such file or directory
console.c:27:20: error: term.h: No such file or directory
console.c: In function ‘get_termcap_string’:
console.c:92: warning: implicit declaration of function ‘tgetstr’
console.c:92: warning: assignment makes pointer from integer without a cast
console.c: In function ‘get_termcap_number’:
console.c:102: warning: implicit declaration of function ‘tgetnum’
console.c: In function ‘apply_termcap_settings’:
console.c:115: warning: implicit declaration of function ‘tgetent’
make[2]: *** [console.o] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Когда я устанавливаю ncurses, он сообщает следующее:

../curses.h:60:25: error: ncurses_dll.h: No such file or directory
In file included from console.c:25:
../curses.h:250: warning: return type defaults to ‘int’
../curses.h: In function ‘NCURSES_EXPORT_VAR’:
../curses.h:250: error: expected declaration specifiers before ‘acs_map’
../curses.h:340: error: storage class specified for parameter ‘SCREEN’
../curses.h:341: error: storage class specified for parameter ‘WINDOW’
../curses.h:343: error: storage class specified for parameter ‘attr_t’
../curses.h:388: warning: empty declaration
../curses.h:401: error: expected specifier-qualifier-list before ‘attr_t’
../curses.h:443: warning: empty declaration
../curses.h:542: error: storage class specified for parameter ‘NCURSES_OUTC’
../curses.h:551: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘addch’
../curses.h:552: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘addchnstr’
../curses.h:553: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘addchstr’
../curses.h:554: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘addnstr’

Может ли кто-нибудь дать мне способ скомпилировать LAME в статическую библиотеку (.a) для armv6 и armv7?

13
задан rexshi 9 February 2012 в 07:39
поделиться