![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
JavaCraft |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 8.2.2007 Репутация: нет Всего: 1 |
Поделитесь опытом, как организовать процесс синхронной разработки кроссплатформенного софта на C/C++.
Мне это нужно для изучения. К сожалению, пока не удалось найти руководства или статей по этому вопросу. Вот моя нулевая гипотеза, что для этого нужно и как это сделать. 1) Нужно использовать CVS, даже для одного разработчика, т.к. предполагается несколько версий(веток) одного и того же софта для разных целевых платформ. Я не хочу "портировать" проект, а хочу добиться одновременной разработки одного проекта, с учетом специфических особенностей каждой платформы. 2) Нужно минимизировать дублирование исходного кода. В идеале он должен быть один. Например, лежать в папке eclipse/workspace/src. Нужно добиться, чтобы вся мультиплатформенность реализовалась в одном или нескольких иерархически организованных Configure и Makefiles, на уровне предкомпиляции. Частично, конечно не обойтись без каких-то деклараций в самом коде, но это значительно меньше, чем в Configure и Makefiles. Должен же существовать специальный софт и методика для автоматизации такой разработки? 3)Например, возьмем Eclipse CDT. Нужно как-то, не знаю как, работая на разных платформах(Linux,FreeBSD,QNX,Solaris,Win32), создать проекты для разных целевых платформ из того-же списка. Тут не понятно, можно ли из Unix* компилить Win32 версии, как и из Windows компилить Unix*. Мне не удалось под Eclipse создать управляемый Make проект для нескольких платформ, а разные проекты не получается связать через один источник исходников. Боюсь, что придется лабать неуправляемый стандарный проект(Это очень тяжко), но даже для него разрешается указать только платформенно-зависимый парсер. Вообще, Eclipse этого годится? 4)Нужно подобрать комплект кроссплатформенных библиотек и пользоваться только ими и stdlib. Предполагается, что проект состоит из нескольких модулей отвечающих за различные функции - работа с сетью, с базой, с другими ресурсами. Только один из них - GUI. Извините, если я тут нагородил глупостей. Какие будут Ваши рекомендации? Можно как-то профессионально организовать разработку? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
1. Рекомендую использовать Subversion - он более совершенный, чем CVS. Не надо плодить кучу разных веток. Все должно быть в одной, иначе дублирования не избежать. Систему контроля версия использовать в любом случае надо - очень удобно делать откаты и смотреть кто, когда и чем тебе что-то испортил.
2. Тут много зависит от выбранной IDE. И стратегии написания кода. Кто тебе мешает сделать разные цели для разных платформ? Например, у меня WindowsDebug, WindowsRelease, LinuxDebug и LinuxRelease. В них определены разные параметры компиляции, что дает возможность компилировать по-разному под разные платформы. 3. Я точно знаю, что Code::Blocks вполне для этого пригоден - сам в нем веду один проект под Windows и Linux одновременно. 4. Многое зависит от предпочтений и языка. Например, для C++ я бы рекомедовал: Qt и boost... Если использовать только эти либы, то, думаю, сильно заморачиваться с настройками среды не придется. |
|||
|
||||
t_rex |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 11.10.2006 Где: Украина, г. Запор ожье Репутация: нет Всего: 7 |
Через пару дней подниму http://wxwidgets.info (щаз пока сайд в дауне) и можно будет почитать статьи на эту тему
Если же нетерпится, то можно почитать в блогах на http://forums.realcoding.net (блог "Всё о кросс-платформенном программировании на C++/wxWidgets") --------------------
Жизнь не MultiEdit. Undo не сделаешьКросс-платформенное программирование с wxWidgetsБлог о программировании для мобильных устройтсвGoogle Android для программистов и пользователей |
|||
|
||||
JavaCraft |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 8.2.2007 Репутация: нет Всего: 1 |
Извините за молчание. Был в отпуске, а потом заморочки.
QT не устраивает из-за лицензии. Мне нужно минимизировать стоимость софта. Желательно, чтобы всё бесплатно. Собственно, кто и что испортил пока не вопрос, я один пока пишу, но даже в одиночку есть потребность в контроле версий. Раньше обходился простым копированием проекта, теперь этого не достаточно. Пока остановился на wxWidgets. Напрягают размеры простеньких приложений, более мегабайта. |
|||
|
||||
Fazil6 |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 1 Всего: 60 |
||||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Причём не в коем случае!
Не могу расписываться за тебя, но за себя могу сказать, что и одному легко испортить что угодно ![]() ![]() Пока, к сожалению, нет. Точнее не совсем да. Ибо мэнеджед мейк далеко не иделаен. Я бы даже сказал извратен... Стандартный ответ ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |