Является ли разработка для Windows под Linux с использованием mingw-w64 такой же хорошей, как и разработка под Windows?

#c #cross-platform #mingw-w64

Вопрос:

Я хочу разрабатывать кроссплатформенные программы с использованием C . Я обнаружил, что могу легко разрабатывать программы для Linux под Windows, используя удаленную разработку в Visual Studio, например, с помощью WSL. Когда я искал, как разрабатывать программы для Windows под Linux, я обнаружил, что могу использовать для этого mingw-w64. Мой вопрос заключается в том, так ли хороша разработка с использованием mingw-w64, как разработка программ Windows под Windows. Что я имею в виду под «так же хорошо, как»:

  • отсутствие ошибок
  • нет ограничений на использование библиотек
  • никаких проблем с отладкой
  • и т.д.

Короче говоря, я хочу, чтобы разработка и, самое главное, результирующие программы были такими же, как при разработке под Windows.
В глобальном масштабе я хочу выбрать свою основную ОС для программирования: Linux или Windows. Я предпочитаю Linux, но боюсь, что это каким-то образом ограничит мою способность программировать кросс-платформенные решения. В настоящее время я программирую только на Python, и у меня не было никаких проблем, но я изучаю C и хочу использовать его профессионально в дальнейшей жизни.

UPD: Кроме того, могу ли я использовать удаленную разработку для Windows под Linux? Я был бы рад увидеть некоторые статьи, видео, учебные пособия. Потому что, если я поищу его, Google выведет результаты для разработки под Linux под Windows — он не понимает, что мне нужно, чтобы это было наоборот.

Комментарии:

1. Вы должны выбрать свою операционную систему в соответствии с требованиями вашего проекта. Если это кроссплатформенный проект, ОС не должна иметь значения.

2. Вы также можете разработать портативный и скомпилировать свой код для Windows и Linux. Нет необходимости в перекрестной компиляции. Вы можете установить свою любимую ОС / IDE и виртуальную машину для другой ОС и скомпилировать код с помощью собственной цепочки инструментов в каждой из них. В связи с этим я хотел бы упомянуть также другие функции, о которых вам следует позаботиться: стандартный код C , эксклюзивное использование портативных библиотек, таких как, например, Qt для графического пользовательского интерфейса, CMake для управления сценариями сборки для каждой из этих платформ.