Одновременная разработка C ++ для Linux и Windows - PullRequest
12 голосов
/ 04 августа 2009

У нас есть несколько разработчиков, работающих над некоммерческими (читай: просто для удовольствия) кроссплатформенный проект C ++. Мы уже определили все кроссплатформенные библиотеки, которые нам понадобятся. Однако некоторые наши разработчики предпочитают использовать Microsoft Visual C ++ 2008, другие предпочитают кодировать в Emacs на GNU / Linux. Мы задаемся вопросом, возможно ли для всех нас работать более или менее одновременно из обеих сред, из одного и того же хранилища кода. В конечном итоге мы хотим, чтобы проект с самого начала аккуратно компилировался на обеих платформах.

Любой из наших разработчиков охотно готов переключиться на другую среду, если это невозможно. Мы все используем Linux и Windows на регулярной основе и наслаждаемся обоими, поэтому речь не идет о том, чтобы попытаться рассказать одним разработчикам о преимуществах другой платформы. Это означает, что каждый из нас может развиваться в среде, которая нам нравится больше всего, и в то же время сотрудничать в веселом проекте.

Любые предложения или опыт, чтобы поделиться?

Ответы [ 13 ]

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

Проблема заключается не в редактировании исходных файлов C ++, а в самом процессе сборки. VS не использует ту же архитектуру Makefile, которую обычно использует разработка Linux. Радикальное предложение, но обе группы могут фактически использовать одну и ту же C ++ IDE и процесс сборки - для получения дополнительной информации см. Code :: Blocks .

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

Я согласен со всеми, кто предложил cmake для кроссплатформенной разработки на C ++. Это отличный инструмент.

Еще одна вещь, которую я бы предложил, это использовать eclipse CDT в качестве среды разработки. Он работает в любом месте, где вы можете запустить Java gcc, и это объединяет вашу среду разработки.

Я думаю, что это был Алан Джексон, который сделал акцент на модульном тесте. Для этого вам понадобятся кроссплатформенные библиотеки модульных тестов. Я прочитал это сообщение время назад относительно структур модульного тестирования C ++. Это немного устарело, но вдумчиво. Отсутствует и то, что работает на обеих платформах: googletest .

Наконец, если вы хотите запустить этот тест автоматически на обеих платформах, в cmake есть еще один инструмент под названием ctest, который очень хорош для этого.

0 голосов
/ 10 июня 2012

Проверьте premake ... Он очень похож на CMake, но написан с использованием lua.

Я использовал это в ряде проектов по разработке, и мне легко учиться и интегрироваться в существующие компании и проектные структуры.

Попробуйте!

http://industriousone.com/premake

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...