谢谢您的帮助,
Joerg
在过去几年中,我已经习惯性地这样做了。有两种方法可以实现:
在旧版的VS(包括VS 6.0)中,有一个导出项目nmake文件的按钮。我偶尔会使用这个功能,然后使用nmake进行编译。我在我的.xemace/init.el中设置了
(setq compile-command "nmake debug ")
。您必须添加nmake文件的名称,并且nmake.exe必须在您的路径中。(顺便说一下,我修改了compilation-error-regexp-alist-alist以帮助移动错误。如果您也需要,请告诉我。)
新版的VS没有导出nmake文件的按钮。对于这些版本,我调用devenv.com。在这种情况下,我在我的.xemacs/init.el中设置了
(setq compile-command "devenv.com /build Debug ")
。您必须添加.sln文件的名称。虽然我没有在VS 6.0中这样做,但我认为这也可能有效。
msdev wspname.dsw /make "project - Win32 Debug"
devenv.com ../slnname.sln /build "project - Win32 Debug"
(如果您想在编译缓冲区中看到输出,则“.com”很重要)。有关在emacs中设置环境变量的良好说明,请访问http://www.emacswiki.org/MSVisualStudio。 - T.E.D.Visual Studio 是一个集成开发环境(IDE)。
它在底层使用 cl.exe 编译器。
// -*- compile-command:"g++ test.cpp -g -lwinmm -o test.exe"; -*-
请查看我的博客文章以获取更多信息。
当然,您需要调整使用CL.EXE并选择适当的参数。
对于启动make,有点棘手,因为您必须将make运行为如果您在父源目录中一样,而您正在编辑层次结构较低的文件时。
我知道的唯一方法是在每个文件的顶部放置以下内容...
// -*- compile-command:"nmake"; default-directory:"c:/projectroot/"; -*-
我们使用带有GNU make(gmake)的emacs,它被我们自己的gmake包装器可执行文件包装,效果非常好。
只需设置一个简单的按键绑定来调用cl.exe对正在编译以构建.obj文件的.c/.cpp文件。我们有一个按键绑定来初始化文件夹中的编译,这将使所有不是最新的.obj文件,但这纯粹由GNU make处理。
我们还有其他按键绑定,例如用于链接可执行文件和启动等。