Войти
ПрограммированиеФорумОбщее

C++ cross-platform build

Advanced: Тема повышенной сложности или важная.

Страницы: 1 2 3 Следующая »
#0
14:00, 3 янв. 2017

Добрый день. Хочу погрузиться в пучину кросс-платформенной разработки (добавить поддержку линукса).
Собственно, как это делается (лучше всего)? Сейчас разрабатываю на Visual Studio.

1. Какие есть platform-independent способы построения приложения? Makefile например, CMake, всё вот это - я в этом ничё не понимаю (пока), но хотелось бы иметь один файл/проект/конфиг, который смогут жрать компиляторы и под винду, и под линукс.
2. Смогу ли я дальше разрабатывать на Visual Studio? Например, расшарив папку с кодом в VirtualBox c убунтой, а там только запуская билд и тестируя результат? Есть ли Remote Debugger студии в ubuntu, или хотя бы какая-то IDE, которая просто будет хавать билд-конфиг из пункта (1) без дополнительный настроек IDE? (проект open-source, желательно чтобы любой человек мог сделать git checkout master и собрать проект в 1 (0) дополнительных кликов и танцев с бубном, не важно какая у него IDE).


#1
14:39, 3 янв. 2017

https://marketplace.visualstudio.com/items?itemName=VisualCPPTeam… uxDevelopment

#2
14:52, 3 янв. 2017

Che@ter
Это я уже нагуглил. Ты им пользовался? Адекватное решение? Подводные камни?

#3
15:34, 3 янв. 2017

я обычно девелоплю под виндой, пользуясь студией. когда надо, альттабаюсь в виртуалку, там собираю CMake'ом, прогоняю стандартные тесты, если всё нормально, девелоплю дальше(снова под вендой).

#4
15:41, 3 янв. 2017

Я под линуксом в QtCreator'е компилю и дебажу, несмотря на все его минусы для линукса я ничего лучше не нашел. Линукс в виртуалке с расшареной папкой, проблем с этим никаких, только в виртуалке компилится значительно медленее, да к тому же Qt еле компилит, так что будет время на форуме посидеть.

#5
15:45, 3 янв. 2017

Suslik
А каким компилятором собираешь под линукс?

Кстати, бинарники между разными линуксами совместимы?

#6
15:53, 3 янв. 2017

/A\
Он у меня и в винде зависал постоянно и крашился. Впечатления негативные остались.

#7
15:59, 3 янв. 2017

Nomad
> Смогу ли я дальше разрабатывать на Visual Studio?
сможешь но надо знать все vs-specific и обходить их стороной, поэтому сперва лучше собрать проект c gcc, вычистить весь студийный мусор если есть и время от времени пересобирать тем же gcc для проверки.

#8
16:03, 3 янв. 2017

Nomad
Пока еще не пользовался, но сейчас делаю Android проект под VS, работает чотко.

#9
16:44, 3 янв. 2017

Che@ter
Меня интересуют в том числе нативные линуксойды, они же там в своих XCode/Eclipse/прочих работают, как они смогут из прыщей этот extension юзать?

Aroch
Это ты сейчас про CMake, да? Ясненько, здорово!

#10
17:37, 3 янв. 2017

Nomad
> Какие есть platform-independent способы построения приложения?
CMake

Nomad
> Смогу ли я дальше разрабатывать на Visual Studio?
да

#11
17:42, 3 янв. 2017

Кстати, нагуглил что Visual Studio 2017 поддерживает и продвигает CMake. Кто-нибудь пробовал уже?

#12
18:23, 3 янв. 2017

Nomad
> Кстати, нагуглил что Visual Studio 2017 поддерживает и продвигает CMake.
> Кто-нибудь пробовал уже?
Симейк поддерживает все старые студии, так что просто переводишь свой проект на симейк и продолжаешь работать в студии, уже открывая сгенерированный симейком проект вместо старого. Время от времени тащишь его на линукс и там собираешь тоже обычной парой симейк+мейк. В качестве альтернативы студии и qtcreator могу посоветовать CLion (платный) мне нравится.

#13
23:48, 3 янв. 2017

Я остановился на QtCreator.

#14
0:15, 4 янв. 2017

Я использую студию и CMake. Правда я предпочитаю вести нативный проект студии, а параллельно поддерживать CMake. Это не всегда удаётся и иногда CMake устаревает и приходится его править.
В тех случаях, когда этого достаточно, использую Windows Subsystem for Linux - это консольный огрызок убунты, который работает прямо в винде 10 без всяких виртуалок. Студия 2015 + расширение для разработки под Linux могли компилировать и отлаживать приложение, правда компилировалось медленно. Судя по всему только в одном потоке. Хотя возможно я не умею его готовить и можно сделать нормально. В основном я отлаживаю на винде, а под линуксом компилирую из консоли через cmake + make.
Если WSL недостаточно, включаю виртуалку или, если есть под рукой, комп с Linux'ом.

Кстати, поставил Visual Studio 2017 RC и вдруг обнаружил, что она летает! Такого от студии я точно не ожидал. Никогда такого не было со старыми студиями и я уже привык к их тормозам. А тут все окна открываются сразу. Редактор кода мгновенно реагирует на набор текста и другие действия, а не подтормаживает, как раньше. Подсказки Intellisense стали вылезать сразу. Раньше на тяжёлой шаблонной магии надо было ждать где-то 2 секунды, а сейчас почти сразу. Мне кажется, на Pentium N3710 она работает даже быстрее, чем работала 2015 студия на Core i7, который в 3 раза мощнее его.
Но апгрейдить проект на новый компилятор не стал. Он ругается варнингами на свою собственную стандартную библиотеку, а новые фишки C++14 и выше я всё равно не использую, потому что пытаюсь поддерживать совместимость со старыми компиляторами. Наверное подожду релиза и заведу отдельную конфигурацию для 2017 студии.

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.