кросс-компиляция библиотеки Jansson C для iOS

Я пытаюсь кросс-компилировать Янссон для iOS (armv7) с моей машины (x86_64). Я узнал, что в xcode 5 Apple удалила llvm-gcc и, таким образом, armv7-apple-darwin-gcc не может быть найден Вместо этого библиотека результата компилируется для x86_64.

Это моя текущая конфигурация:

./configure --prefix=/resultdir --host=armv7-apple-darwin --target=armv7-apple-darwin

Я видел множество постов людей, в которых говорилось, что они скомпилировали Янссона для архитектуры рук, поэтому я знаю, что это возможно. Просто не могу быть в состоянии сделать это.

Есть идеи, как это сделать?

1

Решение

В моей системе установлен более старый iPhoneOS 5.0 SDK. Я уверен, что вы можете работать с более новой версией тоже. Следующий скрипт успешно скомпилировал для меня Янссона:

export CC="/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang"export CPP="clang -E"
export SDKPATH="/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk"export CFLAGS="-arch armv7 -isysroot ${SDKPATH} -miphoneos-version-min=5.0"
export LDFLAGS="-isysroot ${SDKPATH}"
./configure --host=arm-apple-darwin10

make

В результате получается библиотека, которую я не тестировал, но file возвращает библиотеку архитектуры arm:

$ file src/.libs/libjansson.4.dylib
src/.libs/libjansson.4.dylib: Mach-O dynamically linked shared library arm

регулировать SDKPATH а также -miphoneos-version-min=5.0 соответственно для SDK, который вы установили.

4

Другие решения


По вопросам рекламы [email protected]