在Emacs中使用Visual Studio 6 C++编译器

7
我刚开始学习C++开发,希望使用emacs编写代码,并在emacs中使用Visual Studio 6编译和运行。我已经在谷歌上搜索了一些资料,但似乎找不到如何操作的说明。请问有什么指导吗?
谢谢您的帮助,
Joerg

2
+1 给 Emacs 踢出那些烂编辑器的赞扬 ;) - ralphtheninja
8个回答

3

3

在过去几年中,我已经习惯性地这样做了。有两种方法可以实现:

  1. 在旧版的VS(包括VS 6.0)中,有一个导出项目nmake文件的按钮。我偶尔会使用这个功能,然后使用nmake进行编译。我在我的.xemace/init.el中设置了

    (setq compile-command "nmake debug ")

    。您必须添加nmake文件的名称,并且nmake.exe必须在您的路径中。(顺便说一下,我修改了compilation-error-regexp-alist-alist以帮助移动错误。如果您也需要,请告诉我。)

  2. 新版的VS没有导出nmake文件的按钮。对于这些版本,我调用devenv.com。在这种情况下,我在我的.xemacs/init.el中设置了

    (setq compile-command "devenv.com /build Debug ")

    。您必须添加.sln文件的名称。虽然我没有在VS 6.0中这样做,但我认为这也可能有效。


2
作为对Andrew Stein回答的补充,如果不使用nmake在Visual Studio 6上进行命令行构建,请使用以下语法:
msdev wspname.dsw /make "project - Win32 Debug"

注意:对于VS2005,正确的命令是devenv.com ../slnname.sln /build "project - Win32 Debug"(如果您想在编译缓冲区中看到输出,则“.com”很重要)。有关在emacs中设置环境变量的良好说明,请访问http://www.emacswiki.org/MSVisualStudio。 - T.E.D.


1

Visual Studio 是一个集成开发环境(IDE)。

它在底层使用 cl.exe 编译器。


0
如果您只想设置一个单独的文件进行编译,那么请将以下内容放在文件顶部...
// -*- compile-command:"g++ test.cpp -g -lwinmm -o test.exe"; -*-

请查看我的博客文章以获取更多信息。

当然,您需要调整使用CL.EXE并选择适当的参数。

对于启动make,有点棘手,因为您必须将make运行为如果您在父源目录中一样,而您正在编辑层次结构较低的文件时。

我知道的唯一方法是在每个文件的顶部放置以下内容...

// -*- compile-command:"nmake"; default-directory:"c:/projectroot/"; -*- 

0

我们使用带有GNU make(gmake)的emacs,它被我们自己的gmake包装器可执行文件包装,效果非常好。

只需设置一个简单的按键绑定来调用cl.exe对正在编译以构建.obj文件的.c/.cpp文件。我们有一个按键绑定来初始化文件夹中的编译,这将使所有不是最新的.obj文件,但这纯粹由GNU make处理。

我们还有其他按键绑定,例如用于链接可执行文件和启动等。


0
有点跑题,但你为什么要使用Visual Studio 6呢?当前版本的Visual Studio编译器(以及简化版IDE)可以从Microsoft免费获取。
无论哪种情况,你都可以从命令行调用编译器,所以设置一个makefile应该很简单。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接