Wenn Sie Emacs und g ++ in Cygwin installieren, sollte es genauso wie Linux funktionieren, was bedeutet, dass Sie M-x compile
ausführen und g++ myFile.cpp
als Ihren Kompilierbefehl verwenden können. Wenn Sie den "nativen" Emacs für Windows verwenden oder Cygwin/MinGW/etc mischen, werden die Dinge etwas komplizierter (und andere Antworten haben Lösungen), aber es kommt darauf an sicherzustellen, dass Ihre Umgebungsvariablen korrekt eingerichtet sind (zB PATH, SHELL, usw.). Wenn Sie es nicht über die Befehlszeile ausführen können (entweder cmd.exe oder/bin/bash von Cygwin oder MinGW), funktioniert es in keinem Emacs.
Als ein Beispiel kompiliere ich C++ in Emacs mit beiden SCons/g ++ von Cygwin und devenv.com von MS Visual Studio. Dies erfordert natürlich die Installation von SCons und Visual Studio, aber es ist möglich. SCons wird von Cygwinports (http://sourceware.org/cygwinports/) installiert und landet in/usr/bin, was im Standardpfad ist, aber devenv.com ist tief in Visual Studio begraben; Zugang zu ihm zu erhalten, füge ich es enthält Verzeichnis meiner PATH (in meinem ~/.bash_profile):
case $OS in
Windows_NT)
case "`uname -s`" in
CYGWIN_NT*)
PATH=${PATH}:"/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/"
;;
MINGW32_NT*)
PATH=${PATH}:"/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/"
;;
esac
esac
ich dann einen Compiler-Befehl von beiden scons
oder devenv.com -build "Release|Platform MySolution.sln
konstruieren, und die Dinge gehen fröhlich von dort entlang. Sie können so kompliziert werden, wie Sie benötigen (in meinem aktuellen Projekt habe ich Build- und Test-Shell-Skripte, die auf scons
und devenv.com
hinweisen; ich tendiere dazu, Batch-Dateien zu vermeiden, da Shell viel mächtiger ist). Meine einzige Beschwerde ist, dass Microsoft die Ausgabe von Fehlern änderte und so automatisch zu Zeilen im Code von der Compiler-Ausgabe springt, ist derzeit gebrochen (ich muss in das Reparieren davon schauen).
Ich gehe davon aus, dass Sie aus dem "nativen" Build von Emacs kommen, in diesem Fall finden Sie möglicherweise auch das cygwin-mount Modul für Emacs nützlich.
Das funktioniert perfekt, um die Standard-Shell auf bash zu schalten, aber aus irgendeinem Grund findet es die make oder gcc-Befehle nicht, wenn ich versuche, sie auszuführen. –
fügen Sie cygwin/usr/bin zu Ihnen Windows PATH? – Arkadiy
Ja, ich habe es bereits hinzugefügt. –