Кросс-платформенная цепочка инструментов C ++

Здравствуйте, я собираю цепочку инструментов на своем Windows Box для кроссплатформенной разработки на C ++. Я планирую использовать Boost.Build для сборки и Boost :: Test для модульного тестирования. Я буду использовать Mercurial для моей VCS, потому что я могу просто разместить репо на моем внешнем жестком диске, а затем перенести его либо в свой раздел Windows, либо в раздел Linux. Главное, что стоит на моем пути, - это редактор-компилятор / отладчик. У кого-нибудь есть предложения?

С Boost.Build я могу технически легко создавать с любыми компиляторами, которые он поддерживает. Это означает, что MSVC в Windows и GCC в Linux с использованием одного и того же скрипта с флагом.


person blewisjr    schedule 12.12.2009    source источник
comment
Собираетесь ли вы запускать IDE на обеих платформах? Я предполагаю, что это может быть полезно для отладки, зависящей от платформы, но по большей части я думаю, что вы будете разрабатывать только на одной платформе (в вашем случае звучит как Windows), а затем компилировать для обеих.   -  person Nate C-K    schedule 12.12.2009
comment
Честно говоря, меня это не заботит, если я использую IDE во многих случаях, когда они мне мешают. Хотя было бы неплохо использовать тот же редактор.   -  person blewisjr    schedule 12.12.2009
comment
Какие платформы? Если вы упомянули только Linux и Windows, то я предлагаю вам использовать виртуальную машину, а не систему с двойной загрузкой. Тогда вы могли бы просто использовать собственные инструменты и запускать собственные сборки Linux из Windows (или наоборот). Это также делает тестирование более быстрым и простым. Используйте, например, бесплатную версию VMWare Server.   -  person Clifford    schedule 13.12.2009


Ответы (6)


Могу я предложить CMake для Windows и Linux в качестве вы можете создавать собственные проекты Visual Studio, а также проекты Eclipse CDT и старые добрые make-файлы.

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

person Mike Willekes    schedule 12.12.2009
comment
Да, CMake здесь однозначный вариант. На самом деле я просто смотрел на это. Эта система непрерывной сборки - это именно то, что я надеялся реализовать более или менее вручную. Я хотел иметь возможность вытащить из репо и надстроить другую ОС, чтобы убедиться, что она не сломается. Моя основная проблема заключается в том, хочу ли я разрабатывать с использованием файлов проекта из среды IDE или нет. Если я разрабатываю что-то вроде vim и создаю файлы make через командную строку и отлаживаю таким же образом, это кажется проще. - person blewisjr; 12.12.2009
comment
Единственный реальный вопрос здесь - как запустить проект и выложить его в vcs и т. Д. - person blewisjr; 13.12.2009
comment
+1 Я бы порекомендовал CruiseControl (cruisecontrol.sourceforge.net) для непрерывной интеграции. Лично я бы предложил использовать виртуальную машину или отдельный компьютер, а не кросс-разработку. Непрерывная интеграция автоматизирует сборку платформы и даже может запускать тесты и сообщать о результатах (по электронной почте). Виртуальная машина с собственными инструментами настолько же дешевая, насколько и менее затратная, чем кросс-разработка. - person Clifford; 13.12.2009

Qt Creator с использованием MinGW в Windows и компилятора GNU в Linux. Это то, что я использую, и он отлично работает. Обратите внимание, что вам не обязательно использовать Qt при разработке с помощью Qt Creator.

person Milan    schedule 12.12.2009

Code :: Blocks - это бесплатная кросс-платформенная IDE C ++ с открытым исходным кодом. Он поддерживает, среди прочего, компиляторы MS и GCC.

person Community    schedule 12.12.2009

Главное, что стоит на моем пути, - это редактор-компилятор / отладчик. У кого-нибудь есть предложения?

Да: Qt Creator, так как загрузка и установка удовлетворит ваши три запроса - выберите лицензионный маршрут LGPL и загрузите и установите SDK, который даже устанавливает для вас gcc, g ++, ... Встроенный отладчик очень хорош, и вы получаете кроссплатформенное поведение как вашего кода, так и ваших инструментов.

person Dirk Eddelbuettel    schedule 12.12.2009
comment
Устанавливает ли QT Creator набор инструментов GCC на Windows? - person blewisjr; 12.12.2009
comment
Да, если вы выбираете SDK - поэтому он составляет 280 МБ. Но это просто и удобно как одноразовая загрузка --- и все это работает. Конечно, вы также можете делать все в компонентах, но это более сложная работа по настройке и утомительная работа в Windows, поскольку там нет apt-get :) - person Dirk Eddelbuettel; 12.12.2009

вы также можете использовать gcc / g ++ в Windows. что касается отладчиков: gdb и ddd могут быть в cygwin. редактор: vim (будьте осторожны: это действительно программируемый редактор, а не IDE).

person just somebody    schedule 12.12.2009
comment
Было бы сложно изучить более продвинутые функции, которые я обычно использую только для быстрого редактирования файлов конфигурации. - person blewisjr; 12.12.2009
comment
ответ зависит от того, какая функция более продвинутая. но нет, в любой части vim нет ничего сложного, но, конечно, вы будете постоянно забывать о вещах, которыми редко пользуетесь. - person just somebody; 12.12.2009

Vim, gdb, gcc / g ++, makefile - вы можете использовать их как в Windows, так и в Unix :)

Еще одно голосование за блоки кода или Qt Creator.

Есть и коммерческие инструменты: помимо Visual Studio есть MagicC ++ (IDE), отладчики вроде TotalView, Allinea, Отсутствие ошибок, UndoDB ... если вы хотите остаться с VStudio, проверьте эти VSBridge и WinGDB.

В любом случае вы всегда можете использовать MSVC в Windows и другие инструменты в Unix (gdb / DDD для отладки, vim / emacs для редакции) - я работал таким образом много лет. Единая среда для всех платформ - это хорошо, но иногда очень сложно (почти невозможно) "заставить" ее "заставить" ее в компании (особенно большой) ;-)

person Dominic.wig    schedule 12.12.2009