MinGW или MSVC: какой компилятор выбрать для приложений на Qt под Windows?
В основном пишу десктоп-приложения под Windows на Qt (компилятор MSVC2012, Windows7). Иногда их нужно собрать под Android.
Стоит ли для дескопных приложений перейти на MinGW (чтобы для Андроида и винды писать под один компилятор)?
При переходе на MinGW какой отладчик использовать? Придется обязательно перейти на GDB?
Использую boost, стараюсь задействовать возможности C++11.
Я за MinGW, хотя бы потому, что он использует собственный Runtime, работающий на ВСЕХ MS Windows OS, начиная с Win95. В случае с Qt - начиная с 2000/XP. Без всяких установок Visual C++ Redistributable/Visual C++ Runtime и дополнительных библиотек. Просто добавляем в проектный файл такие строки: QMAKE_LFLAGS +=-static-libgcc -static-libstdc++
За всю историю стандантов C++ лишь GCC и CLang оперативно следуют самым новым стандартам в то время как всё остальное сильно отсаёт в этом плане и MSVC не исключение. Первый, Карл, Первый MSVC который боле-менее поддерживает C++11 это 2015 (и то, иногда встречаются шняги с шаблонами, взаимно несовместимые между GCC и MSVC). Всё что старее 2015-го - лажа а не поддержка стандартов.
MinGW как уже очевидно, это нативный порт под Windows того самого GCC.
Не знаю как для Андроида, но MSVC компилятор стоит использовать только если нужно статически линковаться с библиотеками, им собранными. В остальных случаях удобнее использовать MinGW.
В нём и поддержка C++11 гораздо шире. И под Андроида возможно используется компилятор на базе gcc, т.е. схожий с MinGW.
А насчёт страха использования GDB - то в QtCreator не заметно какой отладчик используется.