Использование компилятора Visual Studio 6 C ++ из Emacs - PullRequest
7 голосов
/ 05 июня 2009

Я только начинаю с разработки на c ++, и я хотел бы использовать emacs для написания кода, а затем скомпилировать и запустить его изнутри emacs с помощью компилятора Visual Studio 6. Я уже немного погуглил, но просто не могу найти объяснения, как это делается. Есть указатели?

Спасибо за вашу помощь,

Йорг

Ответы [ 8 ]

3 голосов
/ 05 июня 2009

Я делал это как нечто само собой разумеющееся за последние несколько лет. Есть два способа сделать это:

  1. В более старых версиях VS (включая VS 6.0) есть кнопка для экспорта файла nmake для проекта. Я делаю это иногда, а затем использую nmake для компиляции. У меня

    (setq compile-command "nmake debug")

    в моем .xemace / init.el для этого. Вы должны добавить имя файла nmake, и nmake.exe должен быть на вашем пути. (Кстати, я изменил compilation-error-regexp-alist-alist, чтобы помочь перемещаться по ошибкам. Дайте мне знать, если вы тоже этого хотите.)

  2. В более новых версиях VS нет кнопки для экспорта файла nmake. Для этого я называю devenv.com. В этом случае у меня есть

    (setq compile-команда "devenv.com / build Debug")

    в моем .xemacs / init.el. Вы должны добавить имя файла .sln. Хотя я не делал этого с VS 6.0, я считаю, что он также может работать.

3 голосов
/ 05 июня 2009

Я не уверен, что вы подумаете о том, чтобы просто заменить текстовый редактор внутри Visual Studio на Emacs, но вот проект sf.net, который делает именно это.

http://sourceforge.net/projects/visemacs/

2 голосов
/ 26 марта 2010

В качестве ответа на ответ Эндрю Стейна, для построения командной строки в Visual Studio 6 без использования nmake используйте синтаксис:

msdev wspname.dsw /make "project - Win32 Debug"
2 голосов
/ 05 июня 2009
1 голос
/ 05 июня 2009

Visual Studio является IDE

Под ним используется компилятор cl.exe.

0 голосов
/ 05 июня 2009

Если вы просто хотите настроить один файл для компиляции, поместите это в верхнюю часть вашего файла ...

// -*- compile-command:"g++ test.cpp -g -lwinmm -o test.exe"; -*-

См. Мое сообщение в блоге на этом

Конечно, вам необходимо настроить CL.EXE и выбрать подходящие аргументы.

Для запуска make это немного сложнее, поскольку вы должны запускать make, как если бы вы находились в родительском исходном каталоге, когда вы редактируете файл дальше по иерархии.

Единственный известный мне способ сделать это - поместить это в начало каждого файла ...

// -*- compile-command:"nmake"; default-directory:"c:/projectroot/"; -*- 
0 голосов
/ 05 июня 2009

Немного не по теме, но почему вы используете visual studio 6? Компиляторы (а также урезанные IDE) для текущей версии Visual Studio доступны бесплатно от Microsoft.

В любом случае вы можете вызвать компилятор из командной строки, так что это должно быть так же просто, как настройка make-файла.

0 голосов
/ 05 июня 2009

Мы используем emacs с GNU make (gmake), который упакован в наш собственный исполняемый файл оболочки gmake и работает очень хорошо.

Просто установите простую привязку клавиш, чтобы вызывать cl.exe для файлов .c / .cpp, которые вы компилируете для создания ваших файлов .obj. У нас есть одна привязка клавиш для инициализации компиляции в папке, которая сделает все файлы .obj устаревшими, но это чисто обрабатывается GNU make.

У нас также есть другие сочетания клавиш, например, для связывания исполняемого файла и его запуска и т. д.

...