Everything that you try to do on windows will be "complicated" because you are trying to assemble components from different sources. If you want it easy, use the IDE and compiler, packaged together, for example, releases of Freebie Visual Studio or Code Blocks or Dev C ++, etc.
I understand that the Mx compilation prompt is looking for a shell command on the path to the shell that emacs runs, which of course you can install somewhere. Depending on which build of emacs you have for windows, which by default can be installed by the Windows shell, or it can be bash under MINGW or cygwin.
To get gcc and make, etc. in cygwin, you must select them from the cygwin packages to install (using the cygwin installer effectively is an obscure skill in itself). Cygwin gcc will compile things dependent on cygwin dll by default, but you can also create mingw-style window executables with the -mno-cygwin flag to gcc or run mingw gcc instead of cygwin.
Presumably emacs can even run the Visual Studio compiler if you select the appropriate command line for this or its make utility, or you can run it from gnu make. The problems you are likely to encounter when mixing and matching are the windows vs unix file paths, with your executable path including the necessary tools and the likelihood that the external compiler may format the errors in such a way that the IDE will not analyze, to make them interactive, All this can be circumvented (for example, at one stage of the project I had a sed script that reformatted GCC-cross errors to make them accessible in the error window of the Visual Studio compiler)
source share