Повысьте производительность по сравнению с GNU make

Я новичок в библиотеках Boost C++. Мне было интересно, есть ли какие-нибудь преимущества Boost bjam перед GNU make? И какие минусы, если я использую make для сборки кода C++ с использованием библиотек Boost.Python?

3 ответа

Решение

Безусловно, bjam - это путь к самосовершенствованию. Просто следуйте инструкциям и создайте командную строку. Вы можете (должны) делать это только один раз за буст-релиз.

Но нет никакой необходимости связывать свой собственный проект, который использует boost для повышения системы сборки.

Нет особых недостатков в использовании gmake для создания кода на C++, использующего Boost.Python, и преимущество в том, что существует множество примеров использования gmake.

Если вы собираетесь использовать другие библиотеки Boost, тогда использование bjam может иметь смысл, но, с простой точки зрения, с make очень сложно работать для сложного проекта, именно поэтому, например, был разработан ant.

Bjam расширяет другие проекты, которые начались с попытки заменить make.

Но, с другой стороны, make есть в каждой операционной системе Unix, bjam - нет, но, если вам нужно использовать библиотеки Boost для вашего проекта, вы можете убедиться, что он включен.

Для вашего проекта я думаю, что bjam может быть лучшим вариантом, но если бы вы писали переносимый проект, который другие должны были бы скомпилировать, используя ANSI C++, то я бы предложил также поддержку GNU Make.

Я создал командные интегрированные фреймворки, используя Make и BJam. Мое окончательное мнение заключалось в том, что реализацию bjam было легче поддерживать, как только я изучил основные настройки. Поначалу члены команды могут сопротивляться, но как только они используют его и видят, как это намного проще, чем Make (мое мнение), они выигрывают. Некоторые продолжат сопротивляться. Вы можете настроить системы с двойной сборкой, но это дополнительное усилие.

Когда я вынужден использовать Make, я создаю нерекурсивные решения makefile с центральными наборами правил. У BJam все это встроено.

Другие вопросы по тегам