Si vous installez Emacs et g ++ dans Cygwin, cela devrait fonctionner exactement comme Linux, c'est-à-dire que vous pouvez exécuter M-x compile
et utiliser g++ myFile.cpp
comme commande de compilation. Si vous utilisez l'Emacs "natif" pour Windows, ou que vous mélangez Cygwin/MinGW/etc, les choses deviennent un peu plus compliquées (et d'autres réponses ont des solutions), mais cela revient à s'assurer que les variables d'environnement sont correctement configurées (par exemple PATH, SHELL, etc). En fin de compte, si vous ne pouvez pas l'exécuter sur la ligne de commande (soit cmd.exe ou/bin/bash à partir de Cygwin ou MinGW), il ne fonctionnera pas dans n'importe quel Emacs.
À titre d'exemple, je compile C++ dans Emacs en utilisant à la fois SCons/g ++ de Cygwin et devenv.com de MS Visual Studio. Cela nécessite bien sûr l'installation de SCons et de Visual Studio, mais c'est possible. SCons installe à partir de Cygwinports (http://sourceware.org/cygwinports/) et finit dans/usr/bin, qui est dans le chemin standard, mais devenv.com est enterré profondément dans Visual Studio; pour y avoir accès, je l'ajoute a répertoire contenant à mon PATH (dans mon ~/.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
Je puis construire une commande de compilation soit scons
ou devenv.com -build "Release|Platform MySolution.sln
, et les choses vont allègrement le long de là. Vous pouvez obtenir aussi compliqué que vous avez besoin (dans mon projet actuel, j'ai construit et tester des scripts shell à scons
et devenv.com
, j'ai tendance à éviter les fichiers batch, car le shell est beaucoup plus puissant). Ma seule plainte est que Microsoft a changé la sortie des erreurs et donc sauter automatiquement à des lignes dans le code de la sortie du compilateur est actuellement cassé (je dois chercher à corriger cela).
Je suppose que vous venez de la version "native" d'Emacs, auquel cas, vous pourriez également trouver utile le module cygwin-mount pour Emacs.
Cela fonctionne parfaitement pour changer le shell par défaut en bash mais pour une raison quelconque, il ne trouve pas les commandes make ou gcc lorsque j'essaie de les exécuter. –
ajouter cygwin/usr/bin à vous Windows PATH? – Arkadiy
Oui, je l'ai déjà ajouté. –