Я создаю статическую библиотеку. У параметра build есть Архитектура, установленная на: $(ARCHS_STANDARD)
, которая показана как Standard Architectures (armv7, armv7s, arm64)
. Я создаю lib, выбирая iOS Device, а затем используя симулятор (например, iPhone Retina).
Теперь, когда у меня есть две сборки (одна внутри Debug-iphoneos
, а другая внутри Debug-iphonesimulator
), я использую lipo -create
для создания агрегированной библиотеки lib:
lipo -create path/to/first/lib /path/to/second/lib -o MyLib.a
Если я использовал эту библиотеку в другом проекте для моделирования на любом устройстве iOS с 64-битной архитектурой, он дает symbol(s) not found for architecture x86_64
. Что действительно заставляет меня так рассердиться, что сам проект lib находится внутри рабочей области с другим проектом, который использует lib. Я могу имитировать на 64-битном iOS-симуляторе! (на всех тренажерах и устройствах, если на то пошло). Что я делаю неправильно?
Примечания:
- Это не дубликат Q. Прежде чем обвинить меня в этом (так как это мой второй день, пытаясь исправить эту глупую проблему), я выполнил поиск в Stack и Google. Все ответы не помогают.
- Я использую Xcode 5.1.1.