Se si installa Emacs e g ++ in Cygwin, dovrebbe funzionare proprio come Linux, vale a dire che è possibile eseguire M-x compile
e utilizzare g++ myFile.cpp
come comando di compilazione. Se stai usando Emacs "nativo" per Windows, o mescolando Cygwin/MinGW/etc, le cose diventano un po 'più complicate (e altre risposte hanno soluzioni), ma si riduce a fare in modo che le variabili di ambiente siano configurate correttamente (ad esempio PERCORSO, CALOTTA, ecc.). In definitiva, se non è possibile eseguirlo sulla riga di comando (sia cmd.exe o/bin/bash da Cygwin o MinGW), non funzionerà in alcun Emacs.
Come esempio, compongo C++ in Emacs utilizzando sia SCons/g ++ da Cygwin che devenv.com da MS Visual Studio. Ciò richiede ovviamente l'installazione di SCons e Visual Studio, ma è possibile. SCons installa da Cygwinports (http://sourceware.org/cygwinports/) e finisce in/usr/bin, che si trova nel percorso standard, ma devenv.com è sepolto in profondità in Visual Studio; per ottenere l'accesso ad essa, aggiungo che è contenente directory sul mio cammino (nel mio ~/.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
Ho poi costruire un comando di compilazione di una scons
o devenv.com -build "Release|Platform MySolution.sln
, e le cose vanno allegramente lungo da lì. È possibile ottenere il massimo delle complicazioni necessarie (nel mio progetto corrente ho script di build e test shell con callout su scons
e devenv.com
; tendo a evitare i file batch, poiché la shell è molto più potente). La mia unica lamentela è che Microsoft ha modificato l'output degli errori e quindi il passaggio automatico alle righe nel codice dall'output del compilatore è attualmente interrotto (devo cercare di risolverlo).
Suppongo che tu venga dalla build "nativa" di Emacs, nel qual caso potresti anche trovare utile il modulo cygwin-mount per Emacs.
fonte
2013-02-21 21:41:36
Questo funziona perfettamente per passare la shell di default a bash ma per qualche motivo non sta trovando i comandi make o gcc quando provo ad eseguirli. –
aggiungi cygwin's/usr/bin al tuo PATH di Windows? – Arkadiy
Sì, l'ho già aggiunto. –