2009-05-17 2 views
8

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

+3

Я бы рекомендовал CMake обоим. – Zifre

+0

Итак, я, GNU make, является программой динозавров, которая является болью для использования INHO. cmake имеет простой синтаксис, хорошую документацию, даже gui и поддерживает различные IDE, такие как VS или Xcode. – Nils

ответ

6

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

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

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

2

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

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

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

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

0

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

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

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