I currently maintain a legacy C+ app that runs on x86/x86_64/armhf linux, all 4 android archs and x86/x86_64 windows.
The linux compilation phase takes 1m, whereas on windows (using MinGW) it takes 10m. It’s not the end of the world, but would the MS compiler be faster? Better?
From the perspective of the CI guy: Just cross compile from Linux.
You can get the Windows compilers for free - just CLI build tools are enough for your case. The setup can be a bit messy, though. Also, if it’s a GCC only codebase so far there’s a decent chance it has constructs which will not compile on MSVC. It will not necessarily be faster, though.
if it’s a GCC only codebase so far there’s a decent chance it has constructs which will not compile on MSVC
Yeah in recent experiments i thing i’ve hit that wall… next experiment: mingw on linux.
If you’re supporting windows anyway you should use their tooling. This isn’t controversial, MSVC is a good compiler supported by good developers. I find MSVC more reliable than MinGW on windows as well. I recommend maintaining a single CMake project so that you can switch between compilers and build tools.
You could also cross compile for windows from linux, iirc there are mingw packages on linux.
there’s a free trial and there’s the build tools that can run from the command line or vscode. Why not give it a try?
https://code.visualstudio.com/docs/cpp/config-msvc https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022