Я пытаюсь скомпилировать lame mp3 encoder как статическую библиотеку для iOS. Я бы хотел поддержать все архитектуры, включая i686, armv6, armv7, armv7s и arm64. Вот мой сценарий сборки:Невозможно скомпилировать LAME для iOS
#!/bin/bash
DEVELOPER=`xcode-select -print-path`
SDK_VERSION="7.1"
mkdir build
function build_lame()
{
make distclean
./configure \
CFLAGS="-isysroot ${DEVELOPER}/Platforms/${SDK}.platform/Developer/SDKs/${SDK}${SDK_VERSION}.sdk" \
CC="${DEVELOPER}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch ${PLATFORM} -miphoneos-version-min=7.0 " \
--prefix=/Users/mcrute/Desktop/lame \
--host="arm-apple-darwin9" \
--disable-shared \
--enable-static \
--disable-decoder \
--disable-frontend
make -j4
cp "libmp3lame/.libs/libmp3lame.a" "build/libmp3lame-${PLATFORM}.a"
}
SDK="iPhoneSimulator"
PLATFORM="i686"
build_lame
SDK="iPhoneOS"
PLATFORM="armv6"
build_lame
PLATFORM="armv7"
build_lame
PLATFORM="armv7s"
build_lame
PLATFORM="arm64"
build_lame
lipo -create build/* -output build/libmp3lame.a
Так ошибка выглядит следующим образом:
configure: error: in `/Users/ivan/Desktop/lame-3.99.5':
configure: error: C preprocessor "/lib/cpp" fails sanity check
See `config.log' for more details
make: *** No targets specified and no makefile found. Stop.
cp: libmp3lame/.libs/libmp3lame.a: No such file or directory
Here мой config.log. | попытался удалить arm64 из целей сборки, но сценарий также не удался с той же ошибкой. Google сказал, что у меня нет gcc, но у меня есть .. Ищете любые предложения!
'/ Библиотека/cpp' кажется странным путь ко мне (особенно учитывая путь к' clang') вы знаете, где это значение приходит? Есть ли 'cpp' двоичный файл под' XcodeDefault.xctoolchain' где-нибудь? Устанавливает ли этот параметр как путь для «CPP» решить проблему? –
Я попытался добавить env CPP =/Приложения/Xcode.app/Содержание/Разработчик/Toolchains/XcodeDefault.xctoolchain/usr/bin/cpp. Но его все еще не работает. –
Это правильный путь? Вы добавили это к вызову 'configure'? Ошибка вообще изменилась? –