Подтвердить что ты не робот

Как скомпилировать в Visual Studio 2010 для Linux

Возможно ли разработать C/С++ в Windows с помощью Visual Studio 2010 (не обязательно для компилятора MSVC) и получить двоичный файл, который я могу загрузить на компьютер Linux (и запустить его)?

По возможности я проверил, было использовать MinGW или что-то похожее на то, чтобы заставить двоичные файлы Windows делать то же самое, что и исполняемые файлы linux, но у меня были проблемы с получением всех win-портов для всех необходимых библиотек (posix).

EDIT: я не хочу, чтобы двоичные файлы Windows выполнялись на Linux. В результате мне понадобится встроенный двоичный файл linux.

4b9b3361

Ответ 1

Спасибо всем! Мое решение суммируется:

  • Независимый от платформы код разработан с использованием Visual Studio
  • Final Build (для Linux) выполняется с использованием виртуальной коробки с Debian или RHEL
  • IDE в виртуальной коробке - это Eclipse с плагином CDT
  • Использование CMake Чтобы сгенерировать файлы проекта для Visual Studio и Eclipse CMake

Ответ 2

У меня есть некоторые мнения по этому поводу, но тяжело взвесить без дополнительной информации. Почему вы хотите развиваться в Visual Studio? Какой тип приложения вы используете? Существует ли уровень зрелости кода, который уже существует? Есть ли проблемы с опытом работы в команде, влияющие на это решение?

Моя реакция на коленный рефлекс заключается в том, что кажется, что вы хотите использовать преимущества среды разработки VS 2010 с точки зрения производительности разработчиков при разработке приложения, которое будет использоваться в среде Linux. Если бы я столкнулся с этим, я бы, вероятно, планировал переносить С# с помощью mono на постоянный сервер интеграции на основе Linux с кратковременными проверками (раз в час или около того должно быть хорошо), чтобы отсеять непереносимый код, Однако вы указали С++, так что, вероятно, это не идеально подходит для вас, если вы считаете, что это требование.

С С++ в качестве жесткого требования и Visual Studio в качестве жесткого требования план, который вы опубликовали, звучит как хороший. Кроме того, я бы определенно хотел, чтобы постоянный сервер интеграции, работающий на целевой платформе, с кратковременными проверками, чтобы предотвратить существенную разработку кода не переносимого кода. TFS может справиться с этим, если у вас есть лицензии MSDN (и обеспечивает интеграцию инструмента как в Visual Studio, так и в Eclipse). Есть много других хороших вариантов, но вы, кажется, тянетесь к стеку Microsoft.

Ответ 3

Нет, я не думаю, что вы можете перекрестно компилировать целевой Linux/x86 с помощью визуального компилятора студии.

(я не знаю Windows, но я слышал, что Microsoft не очень дружит с Linux и не развивает кросс-компиляторы)

Самый простой способ для компиляции кода для Linux/x86 - установить полный дистрибутив Linux (на вашем ноутбуке или, возможно, на виртуальной машине).

Вы могли бы скомпилировать (для хоста Windows) GCC и binutils, чтобы получить кросс-компилятор, нацеленный на Linux/x86 и работающий в Windows, но я не буду рекомендовать это новичку.

(Если у вас есть целая команда, знающая только Windows, вам нужно потратить ресурсы, чтобы команда изучила Linux, и это проще, если каждый разработчик имеет систему Linux на своем рабочем столе. Конечно, обучение требует времени, и при этом большая часть усилий будет потрачена на обучение программированию под Linux, например, системные вызовы Linux и общие API и библиотеки, поэтому хранение Visual не будет много выигрывать и будет стоить вам!)