Как я могу разрабатывать приложения C ++ в Linux с рабочей станции Windows?

Я разрабатываю приложения на C ++ для Linux, но моя рабочая станция - это Windows 7. Я читал, что Visual Studio - самая сильная IDE на C ++ для Windows, но на самом деле я хочу выполнить код на Ubuntu и иметь возможность использовать более удобную графическую среду. отладчик, чем gdb, хотя функциональность gdb довольно хороша. Я тоже очень доволен valgrind, но опять же, я хотел бы иметь возможность использовать это в среде IDE в Windows.

В настоящее время я использую QtCreator как свою C ++ IDE, и я редактирую файлы через самбу, монтирующуюся в окно Linux. Я использую Putty для запуска команд Linux. Я использую git в качестве системы управления версиями, gcc в качестве компилятора и cmake в качестве системы сборки. Мне нравится QtCreator, но поскольку я его настроил, я не использую автозавершение кода или отладку.

Самое близкое, что я видел, - это CodeWarrior. Он позволяет выполнять код на удаленных встроенных системах и в полном отладчике. Кто-нибудь когда-нибудь использовал это для общей разработки приложений на Ubuntu?

Подходит ли мне QtCreator IDE? Могу ли я что-то еще сделать, чтобы настроить его так, чтобы он предоставил мне те богатые функции IDE, которые я ищу? Или мне стоит поискать другую IDE? Кроме того, есть ли инструменты, о которых я забыл упомянуть, которые упростят разработку C ++ на Linux с рабочей станции Windows?

Заранее спасибо...


person Homer6    schedule 12.11.2011    source источник
comment
Будут ли ваши программы переносимы на Windows?   -  person Benjamin Lindley    schedule 13.11.2011
comment
Нет. Они предназначены только для работы в Linux. В частности, я пишу модули для nginx.   -  person Homer6    schedule 13.11.2011


Ответы (4)


Непонятно, вы запускаете QtCreator на windows? Если это так, вы можете запустить QtCreator в Linux, а также установить nxserver в Linux и nxclient в Windows (http://www.nomachine.com/).

Таким образом, вы запускаете nxclient в Windows, входите в систему в Linux и работаете в Linux, по сравнению с виртуальными машинами, вы получаете больше преимуществ.

person fghj    schedule 12.11.2011
comment
Ага, я запускаю QtCreator в Windows. Я веб-разработчик и в основном смотрю на браузеры (которые лучше работают в Windows). Итак, Windows - моя рабочая станция, но Linux - мой предпочтительный сервер (работающий с кодом C ++). О номашине не думал, проверю. Спасибо. +1 за полезный вклад. - person Homer6; 13.11.2011
comment
Кроме того, если вы перфекционист и считаете, что на сервере не должно быть графического интерфейса (nxserver требует графического интерфейса на сервере), вы можете попробовать установить xserver из cygwin и туннелировать трафик X11 с сервера на вашу машину Windows через SSH, но это требует дополнительных знаний и усилия. - person fghj; 13.11.2011
comment
Кроме того, вы можете попробовать WinGDB, плагин для VS для отладки кода в Linux, из Windows через ssh: visualstudiogallery.msdn.microsoft.com/ - person fghj; 13.11.2011
comment
Потрясающие. Отличные предложения user1034749! Спасибо. - person Homer6; 13.11.2011

Используйте виртуальные машины VirtualBox и linux?

person James Butler    schedule 12.11.2011
comment
Я предпочитаю иметь отдельный Linux для разработки. Но в любом случае я задаю не этот вопрос. - person Homer6; 13.11.2011
comment
Вы хотите скомпилировать и скомпилировать под Windows двоичный исполняемый файл ELF для Linux? Почему? - person Basile Starynkevitch; 13.11.2011
comment
Нет, я использую gcc в качестве компилятора в Linux. Я просто хочу использовать богатый пользовательский интерфейс Windows для написания кода для серверов Linux. - person Homer6; 13.11.2011
comment
Я думал о настройке многоэкранного режима с одной ОС на каждой и интеграцией указателя мыши? чтобы можно было легко переключаться между ними? А затем сделать какие-то общие ресурсы SMB, как сейчас, или какие-то общие папки виртуальных ящиков? - person James Butler; 13.11.2011
comment
Джеймс, это хорошее решение, просто это не решение моей проблемы. Это просто решение того, как запустить Linux в Windows. - person Homer6; 13.11.2011
comment
Я подумал, что это может быть так ... Надеялся, что это может подвести вас достаточно близко к вашей цели ... THB Я полностью застрял в том, как достичь этого без туннелирования @ user1034749 x11 (что довольно круто) - person James Butler; 13.11.2011

X Windows.

Вы можете установить Cygwin для запуска сервера X11 на рабочем столе Windows 7, а затем запустить графическую среду разработки X11, такую ​​как QtCreator, на своем сервере Linux, которая выполняет рендеринг непосредственно на рабочий стол Cygwin Windows 7. Я действительно пытался настроить это с помощью Code :: Blocks в openSUSE и Cygwin в Windows 7 всего несколько недель назад, потому что я в той же ситуации, в которой вы находитесь. Это работает ... вроде как. Возникают странные периодические ошибки.

Ваш сценарий в точности соответствует сценарию, для которого была разработана система X Windows, и он прекрасен по концепции, но фактическая конструкция и реализация протокола X11, как я понимаю, устарели и довольно сложны. У меня очень мало опыта работы с X, но люди, которые имеют большой опыт работы с ним, похоже, много на него жалуются, и я полагаю, что для этого есть веские причины. Жаль, потому что было бы замечательно, если бы работала такая технология, как X Windows. AJAX - это, по сути, дешевый прием для решения той же проблемы, которую пыталась решить X Windows ... запуск удаленного приложения с локальным рендерингом богатого графического интерфейса.

Я отказался от X и все еще делаю то же, что и вы: у меня есть файлы, смонтированные на замазке и Samba, которые я редактирую с помощью Visual Studio. Visual Studio - лучший текстовый редактор, который я когда-либо использовал. Все остальные функции Visual Studio IDE просто великолепны.

person James Brock    schedule 12.11.2011
comment
Спасибо, Джеймс. +1 за очень полезный вклад. - person Homer6; 13.11.2011

Есть несколько решений:

  • VmWare: не бесплатно, но очень хорошо
  • Virtualbox: бесплатный, но менее мощный, чем VmWare
  • KVM / Qemu: бесплатно, но менее мощно, чем VmWare
person Gilles Quenot    schedule 12.11.2011
comment
Спасибо за ответ, но я тоже задаю не этот вопрос. Я не пытаюсь запустить Linux в Windows. - person Homer6; 13.11.2011