Все, что вы пытаетесь сделать в Windows, будет "рутиной", потому что вы пытаетесь собрать компоненты из разных источников. Если вы хотите легко, используйте IDE и компилятор, упакованные вместе, такие как бесплатная версия Visual Studio, или Code Blocks, или Dev C ++ и т. Д.
Насколько я понимаю, приглашение M-x compile ищет команду оболочки по пути оболочки, которую запускает emacs, которую вы, конечно, можете установить где-нибудь. В зависимости от того, какую сборку emacs вы используете для Windows, это может быть по умолчанию оболочкой Windows, или это может быть bash под MINGW или cygwin.
Чтобы получить gcc, make и тому подобное в cygwin, вы должны выбрать их из пакетов cygwin для установки (эффективное использование программы установки cygwin само по себе неясно). Gcc Cygwin по умолчанию будет компилировать вещи, зависящие от DLL Cygwin, но вы также можете сделать исполняемые файлы Windows в стиле mingw с флагом -mno-cygwin для gcc или запустив mccw gcc вместо cygwin.
Предположительно, emacs может даже запустить компилятор Visual Studio, если вы найдете для этого подходящую командную строку или утилиту make или вы можете запустить ее из gnu make. Проблемы, с которыми вы можете столкнуться при смешивании и сопоставлении, - это пути windows и unix, наличие в вашем исполняемом пути необходимых инструментов и вероятность того, что сторонний компилятор может отформатировать ошибки так, что среда IDE не будет анализировать их, чтобы сделать их кликабельными. , Все эти вещи можно обойти (например, на одном этапе проекта у меня был скрипт sed, который переформатировал ошибки GCC-cross, чтобы сделать их кликабельными в окне ошибок компилятора Visual Studio)