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

Как настроить визуальную студию для кросс-платформенной разработки на С++

По прошествии некоторого времени в основном .net-разработка, мне нужно работать на С++ в кросс-платформенной манере.

Я не хочу бросать визуальную студию, поэтому я надеялся, что можно использовать визуальную студию и целевые окна в качестве тестовой сборки, а затем каждый раз с помощью vm-теста код на linux или mac.

Есть ли у кого-нибудь опыт в том, как наилучшим образом настроить это?

Мне особенно любопытно, как вы убедитесь, что такие вещи, как файл проекта, синхронизируются с файлами make, которые, вероятно, необходимы на платформах * nix.

4b9b3361

Ответ 1

Прежде всего, выберите не управляемый проект на С++ (чтобы избежать использования .net файлов).

После этого поднимите уровень предупреждения (/W3 должен сделать) и будьте очень осторожны, что вы делаете/пишете. IMHO, GCC лучше держать вас прямо со стандартом (-Wall -Wextra -pedantic -std=c++11), но вы указываете MSVC.

Как сказал Ной, вам понадобится построить систему, которая сама по себе является кросс-платформенной, такой как CMake (есть другие, пожалуйста, не забывайте об этом).

Не забудьте использовать независимые типы платформы/архитектуры/компилятора, такие как std::size_t, std::(u)intptr_t и т.д. вместо простых int, long, unsigned: это рецепт катастрофы, а броски Windows API это слишком много.

Смотрите здесь, но только/особенно точки 1, 2, 5 и 8 (и 9, но обобщайте это на svn, git, mercurial).

Ответ 2

Мне особенно любопытно, как вы убедитесь, что такие вещи, как файл проекта, синхронизируются с файлами make, которые, вероятно, необходимы на платформах * nix.

Так как MS решила удалить поддержку make файлов из VS, вы этого не сделаете. Вы используете что-то другое, которое может генерировать файлы проекта VS и следить за тем, чтобы вы правильно настроили его. Что-то вроде CMake.

Ответ 3

(3 года спустя...)

Если у вас НЕ-ЭКСПРЕСС, что позволяет использовать плагины, тогда есть такие вещи, как WinGDB и VisualGDB, чтобы помочь вам.

Duckduckgo также рассказывает мне о make-it-so, который довольно устарел - но пока может быть еще много таких, поскольку они должен быть проще сделать с новыми форматами проектов на основе xml.

Ответ 4

Это древний вопрос от 6 лет назад, но я хотел бы отметить, что Microsoft теперь имеет официальные инструменты для работы с linux С++ в Visual Studio:

https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/

Кроме того, Windows 10 теперь имеет возможности запускать Linux внутри Windows, поэтому это должно сделать вашу жизнь намного проще для любого, кто все еще заинтересован в разработке на С++ для Linux в Visual Studio.