Как скомпилировать универсальные библиотеки по Mac OS X?

Это может быть очень глупым вопросом, но я плохо знаком с разработкой на Mac и прихожусь нелегко с универсальными двоичными файлами.

У меня есть приложение, которое я компилирую в спокойном Создателе, который согласно lipo производит i386 выводы архитектуры. Насколько я понимаю это означает, что производит выводы Mac OS X 32 битов.

Приложение зависит от двух внешних библиотек. Одна из этих библиотек, которые я компилирую путем вызова./конфигурации первых, и затем делаю../конфигурация состояний, что это "Настроено для darwin-i386-cc". Однако после выполнения делают, и звонящий lipo на результате, об архитектуре сообщают как x86_64.

Точно так же у меня есть другая внешняя библиотека. Тот имеет, не настраивают сценарий, и я компилирую его просто вызовом, делают. Вывод от этого также является x86_64.

Как я могу скомпилировать эти две внешних библиотеки так, чтобы они произвели что-то совместимое с выводом моего приложения i386? Еще лучше, как я могу скомпилировать эти две внешних библиотеки для создания универсальных библиотек, таким образом, я могу произвести универсальный двоичный файл из своего приложения, которое работает над обоими 32 и 64 битами?

Кроме того, на основе текущего состояния мира Mac, там какие-либо другие платформы, что я, как должны ожидать, буду нацелен создавать надлежащий, удобный для пользователя Mac OS X универсальный двоичный файл?

15
задан Nantucket 28 July 2010 в 05:16
поделиться

2 ответа

Наконец-то он заработал.

Чтобы контролировать архитектуру цели, я вручную зашел и отредактировал Make-файлы.

Для одного из них я добавил в конец строки, начинающейся с CFLAGS: -arch i386 -arch x86_64 -arch ppc В результате получился универсальный двоичный файл.

Для другого, когда я сделал то же самое, компиляция завершилась с ошибкой. Мне пришлось прокрутить цикл и ставить только одну арку за раз, а затем, когда я создал все три, я вызвал lipo на них с флагом -create, чтобы создать универсальный двоичный файл.

14
ответ дан 1 December 2019 в 03:13
поделиться

Я не могу ответить на основную часть вашего вопроса, потому что я всегда использую Xcode, а не make. Но что касается этой последней части, если вы поддерживаете версии ОС до 10.6, вам может потребоваться также компиляция для PowerPC (код архива "ppc").

1
ответ дан 1 December 2019 в 03:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: