Я пытаюсь скомпилировать XZ Utils для iOS.
Как я бегу ./configure:
CC="clang -arch armv7 -arch armv7s -arch arm64 \
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk" \
./configure --disable-dependency-tracking \
--host=arm-apple-darwin15.0.0 --build=x86_64-apple-darwin15.3.0
Компилируется нормально, если я укажу только одну архитектуру.
configure:6216: clang -arch armv7 -arch armv7s -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.2.sdk -E conftest.c
clang: error: cannot use 'cpp-output' output with multiple -arch options
Я хочу, чтобы были скомпилированы жирные кусочки, содержащие кусочки armv7, armv7s и arm64. Есть ли способ обойти это ограничение clang
?
Вы можете использовать только одну архитектуру в качестве цели, вы должны использовать lipo
создать толстую библиотеку.
В качестве примера:
lipo -create -output fat.a thin1.a thin2.a
Других решений пока нет …