Управление сборкой: проект Eclipse против проекта Eclipse Managed Make - PullRequest
3 голосов
/ 03 августа 2009

Я занимаюсь разработкой под Windows и использую Eclipse с CDT для разработки приложений на C ++.

Теперь для управления сборкой я могу создать обычный проект C ++ , и Eclipse полностью будет управлять сборкой (вызывая компилятор g ++ с соответствующими аргументами), или я могу создать проект Managed Make C ++ и Eclipse будет управлять Makefile, а затем вызывать make для этого Makefile (при сборке проекта), что, в свою очередь, завершит процесс сборки.

Есть ли преимущество использования одного из этих подходов, а не другого?

РЕДАКТИРОВАТЬ : Я не говорю об Управляемом Make против Стандартного Make, скорее я говорю о Make vs Eclipse. Вчера я попытался скомпилировать проект C ++ с помощью eclipse в системе, которая вообще не содержит Make, и проект скомпилировался нормально, что означает, что eclipse может полностью управлять сборкой самостоятельно, что позволяет сфокусировать исходный вопрос: нужно ли мне Делать?; Я могу использовать затмение в одиночку.

Это мой вопрос ...

Ответы [ 6 ]

9 голосов
/ 10 августа 2009

Одно соображение: хотите ли вы требовать , что разработчики, работающие с вашим проектом, должны установить и использовать Eclipse? Это не оценочное суждение об Eclipse, а предположение о вашей аудитории и о том, насколько они знакомы с выбранным вами инструментом. Если программист C ++ знаком с Java / Eclipse, это может не быть проблемой. Если они не знакомы с Eclipse, они увидят в Eclipse препятствие для выполнения своей работы.

Вы должны обратить внимание на ваши инструкции по созданию среды сборки с нуля и поддерживать ее в актуальном состоянии. Вы знаете разработчиков, будут некоторые заядлые разработчики C ++, которые проклянут ваше решение и расскажут о том, как вы должны были сделать это с помощью Make вместо того, чтобы заставлять (хе) устанавливать совершенно новую платформу просто для сборки.

6 голосов
/ 03 августа 2009

Я не уверен, что у вас будет эта опция в проекте C ++ , но с проектом Managed Make C ++ вы сможете вызывать make-файл непосредственно из команды линейная среда (при условии, что вы указали исполняемый файл make в своем пути). Я бы посчитал это реальным преимуществом, особенно когда речь идет об автоматизированных сценариях сборки и пользователях, более ориентированных на CLI.

Также - не забывайте, что написание собственного make-файла является опцией для CDT. Если у вас есть особые требования, вы можете написать свои собственные файлы make и linker, и Eclipse свяжет свои цели сборки с этим make-файлом.

3 голосов
/ 05 августа 2009

Начиная с CDT4.0, параметры практически одинаковы. Все функции Standard Make можно использовать для проектов управляемой сборки и наоборот.

Изменения в системе сборки CDT 4.0 .

Лучший список изменений cdt4.0, который я смог найти .

2 голосов
/ 11 августа 2009

Если в какой-то момент вы собираетесь использовать систему непрерывной сборки / интеграции, make-файл может быть очень полезным

0 голосов
/ 10 августа 2009

Это зависит от масштаба вашей команды и вашего проекта. Настроить Make гораздо сложнее, но его можно масштабировать до многопользовательских сборок и больших групп, независимых от Eclipse. Также с Make вы будете иметь больше контроля над сборкой вашего проекта (когда вы углубитесь в детали make-файлов), и он может быть включен в системы непрерывной интеграции. И ваши make-файлы можно сделать независимыми от платформы (если это актуально для вас).

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

С другой стороны: если это разработка для одного или двух человек, Eclipse CDT - ваш быстрый путь, поскольку вы можете пропустить установку файла, занимающую много времени.

0 голосов
/ 08 августа 2009

ИМО, это зависит от популярности вашего проекта.
Обычно , нет проблем со сборкой Make проектов практически на любой платформе (хотя в windows вам может понадобиться cygwin / mingw). Более того, если кто-то должен будет скомпилировать ваш проект на основе Eclipse и кто не использует Eclipse, он обвинит вас в вашем выборе.
Так что, если ваш проект не предназначен для масс (или вы действительно не заботитесь о них), используйте то, что вы предпочитаете. Но если исходники будут собираться другими людьми, было бы неплохо перейти на Make.

...