Могу ли я создать как 32-разрядную, так и 64-разрядную архитектуры библиотеки в Mac OS? - PullRequest
2 голосов
/ 14 октября 2011

Мне нужно собрать библиотеку (Ipopt) в Mac OS X и использовать ее из двух разных программ (Python & Matlab).Однако одна программа является 32-разрядной, а другая - 64-разрядной.Нужно ли создавать две отдельные библиотеки двух архитектур, а затем указывать путь для каждой программы?Или я могу построить обе архитектуры в одном и том же файле библиотеки, и программа выберет правильную архитектуру для загрузки?Если можно, то как?

Спасибо!

1 Ответ

1 голос
/ 14 октября 2011

Вы можете построить обе архитектуры и объединить их в один двоичный файл. Инструмент для этого - lipo.

Например, если вы создали libpopt как 32-битную библиотеку и поместили ее в lib/, а затем снова собрали как 64-битную библиотеку и поместили ее в lib64/, тогда команда для объединения этих двух команд может быть :

lipo lib/libpopt.a lib64/libpopt.a -create -output libUniversal/libpopt.a

Для получения дополнительной информации см. Справочную страницу lipo ( здесь или через man lipo).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...