2015-04-19 2 views
3

это может показаться очевидным для кого-то, но не для меня.Как использовать cmake на mac

Как использовать cmake на Mac? Предположим, у меня есть проект в Xcode, и я хочу, чтобы эта ссылка на проект с библиотекой assimp.

Итак, я загружаю источник аффимма, создаю сборку с помощью cmake, укажите Xcode для включения в загруженный источник и что тогда? Где построены библиотеки? У меня только есть проект Xcode этой библиотеки. Создает ли он библиотеки?

Если я использую варево установить assimp, я только установить это в моем Xcode проекте:

  1. путь заголовка:
    /USR/местные/включить
  2. библиотека путь поиска:
    /USR/местные/Библиотека
  3. комплект лайнер флаг:
    -lassimp

и я закончил.

Каковы преимущества cmake для создания библиотек из источника, кроме того, что источник является «свежим», и я не могу сделать это правильно?

Может ли кто-нибудь опубликовать шаг за шагом, что делать, когда строите вещи с помощью Cmake, с пояснениями?

Самое главное, где Cmake ставит библиотеки и как связывается с ними?

ответ

3

CMake не создает библиотеки, он «только» генерирует специфичные для платформы Make-файлы (или их эквиваленты). Вам все равно нужно скомпилировать и установить скомпилированные библиотеки и заголовки.

Для библиотеки, которую вы хотите построить, необходимы следующие шаги (я делаю их в Linux, но это должно быть применимо и к Mac OS X).

git clone https://github.com/assimp/assimp.git 
cd assimp 
mkdir build 
cd build 
cmake .. 

Папка build теперь содержит Makefile, и при запуске make, библиотека будет скомпилирована.

После этого этапа недавно построенная библиотека находится по адресу build/code/libassimp.so.

Вы можете оставить библиотеку, а также включенные там файлы и ссылаться на них при компиляции/связывании своего проекта. Обычно вы хотите получить install, поэтому они доступны по всей стране и могут быть найдены автоматически.

Это делается с использованием sudo make install.

Теперь библиотека должна быть в /usr/local/lib, включить файлы в /usr/local/include. Вы можете изменить эти местоположения using CMake.

Смежные вопросы