Повысьте производительность по сравнению с GNU make - PullRequest
8 голосов
/ 17 мая 2009

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

Ответы [ 3 ]

6 голосов
/ 17 мая 2009

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

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

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

2 голосов
/ 17 мая 2009

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

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

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

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

0 голосов
/ 12 июня 2014

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

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

...