Это может быть очень глупым вопросом, но я плохо знаком с разработкой на Mac и прихожусь нелегко с универсальными двоичными файлами.
У меня есть приложение, которое я компилирую в спокойном Создателе, который согласно lipo производит i386 выводы архитектуры. Насколько я понимаю это означает, что производит выводы Mac OS X 32 битов.
Приложение зависит от двух внешних библиотек. Одна из этих библиотек, которые я компилирую путем вызова./конфигурации первых, и затем делаю../конфигурация состояний, что это "Настроено для darwin-i386-cc". Однако после выполнения делают, и звонящий lipo на результате, об архитектуре сообщают как x86_64.
Точно так же у меня есть другая внешняя библиотека. Тот имеет, не настраивают сценарий, и я компилирую его просто вызовом, делают. Вывод от этого также является x86_64.
Как я могу скомпилировать эти две внешних библиотеки так, чтобы они произвели что-то совместимое с выводом моего приложения i386? Еще лучше, как я могу скомпилировать эти две внешних библиотеки для создания универсальных библиотек, таким образом, я могу произвести универсальный двоичный файл из своего приложения, которое работает над обоими 32 и 64 битами?
Кроме того, на основе текущего состояния мира Mac, там какие-либо другие платформы, что я, как должны ожидать, буду нацелен создавать надлежащий, удобный для пользователя Mac OS X универсальный двоичный файл?
Наконец-то он заработал.
Чтобы контролировать архитектуру цели, я вручную зашел и отредактировал Make-файлы.
Для одного из них я добавил в конец строки, начинающейся с CFLAGS: -arch i386 -arch x86_64 -arch ppc В результате получился универсальный двоичный файл.
Для другого, когда я сделал то же самое, компиляция завершилась с ошибкой. Мне пришлось прокрутить цикл и ставить только одну арку за раз, а затем, когда я создал все три, я вызвал lipo на них с флагом -create, чтобы создать универсальный двоичный файл.
Я не могу ответить на основную часть вашего вопроса, потому что я всегда использую Xcode, а не make. Но что касается этой последней части, если вы поддерживаете версии ОС до 10.6, вам может потребоваться также компиляция для PowerPC (код архива "ppc").