• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

C++ aus emacs kompilieren

SP

Member
Gibt es eine Möglichkeit, Programme in C und C++ direkt aus dem emacs heraus zu kompilieren und auszuführen (also über gcc und g++)?
 

xxxsemoi

Member
Yuuup, das geht.
Gebe das Folgende im Emacs ein:
Code:
ESC x compile RETURN
Der Default command ist jetzt
Code:
make -k
so das das Kompilieren abbricht sobald ein Fehler auftritt (ansonsten ohne Option -k). Falls Du keine Makefile hast, kannst Du hier auch den gcc-Befehl eingebn [Das ist aber nicht zu empfehlen, weil Makefiles ihren Sinn haben.].
Dies kann man in der Variable compile-command in der ~/.emacs-Datei setzen.
Außerdem gibt es noch eine Reihe von anderen Funktionen:
next-error (Standard Abkürzung ist C-x `)
compilation-next-error (ESC n)
compilation-previous-error (ESC p)
compilation-goto-error (C-c C-c)
Zum interprtieren der Fehlermeldungen benutzt Emacs die Liste compilation-error-regexp-alist
Mit der F1-Taste kann man sich ein Menue anzeigen lassen. Drücke anschließend f und gebe den Funktionsnamen ein. Dann kommt was die Funktion macht und welche Parameter sie braucht.
Gruß
xxxsemoi
 

SchodMC

Newbie
Um das ganze noch etwas einfacher zu machen, ist bei mir die site-start.el (geht auch in der .emacs) angepasst:

(global-set-key [f2] 'compile)
(global-set-key [f3] 'next-error)

Wenn ich nun F2 drücke, erscheint direkt der Compile Befehl "nice -5 make". Mit F3 springt er automatisch an den nächsten Compiler-Fehler. An dieser Stelle kann natürlich auch alles andere eingestellt werden. Ganz praktische Sache. Außerdem kann man, wie in der Bash, auch mehrere Befehle verknüpfen:

cd ~/src/mytest && g++ -o test test.cc && ./test

Das heißt: in das Verzeichnis ~/src/mytest wechseln. War das erfolgreich, test.cc compilieren und in das binary file test schreiben. War auch das erfolgreich, einfach die test-binary ausführen.
 
Oben