我刚刚开始使用 c++ 开发,我想使用 emacs 编写代码,然后使用 Visual Studio 6 编译器在 emacs 中编译和运行它。我已经用谷歌搜索了一下,但似乎无法找到有关如何完成此操作的解释。任何指针?
谢谢你的帮助,
约尔格
我刚刚开始使用 c++ 开发,我想使用 emacs 编写代码,然后使用 Visual Studio 6 编译器在 emacs 中编译和运行它。我已经用谷歌搜索了一下,但似乎无法找到有关如何完成此操作的解释。任何指针?
谢谢你的帮助,
约尔格
我不确定您是否会考虑仅将 Visual Studio 中的文本编辑器与 Emacs 交换,但这里有一个 sf.net 项目可以做到这一点。
在过去的几年里,我理所当然地这样做了。有两种方法可以做到这一点:
在旧版本的 VS(包括 VS 6.0)中,有一个按钮可以导出项目的 nmake 文件。我有时会这样做,然后使用 nmake 进行编译。我有
(setq 编译命令“nmake 调试”)
在我的 .xemace/init.el 中。您必须添加 nmake 文件的名称,并且 nmake.exe 必须在您的路径中。(顺便说一句,我修改了 compiler-error-regexp-alist-alist 以帮助解决错误。如果你也想要这个,请告诉我。)
较新版本的 VS 没有导出 nmake 文件的按钮。对于这些,我称之为 devenv.com。在这种情况下,我有
(setq compile-command "devenv.com /build Debug")
在我的 .xemacs/init.el 中。您必须添加 .sln 文件的名称。虽然我没有在 VS 6.0 中这样做,但我相信它也可以正常工作。
作为 Andrew Stein 回答的后续,要在 Visual Studio 6 上构建命令行而不使用 nmake,请使用以下语法:
msdev wspname.dsw /make "project - Win32 Debug"
Visual Studio 是一个 IDE
它使用下面的 cl.exe 编译器。
我们将 emacs 与GNU make (gmake) 一起使用,它使用我们自己的 gmake 包装器可执行文件进行包装,并且运行良好。
只需设置简单的键绑定即可在您正在编译的 .c/.cpp 文件上调用 cl.exe 以构建 .obj 文件。我们有一个用于在文件夹中初始化编译的键绑定,它将生成所有不是最新的 .obj 文件,但这完全由 GNU make 处理。
我们还有其他键绑定,例如用于链接可执行文件并启动它等。
有点跑题了,但你为什么使用 Visual Studio 6?当前版本的 Visual Studio 的编译器(以及精简的 IDE)可从 Microsoft 免费获得。
无论哪种情况,您都可以从命令行调用编译器,因此它应该像设置生成文件一样简单。
如果您只想设置一个文件进行编译,请将其放在文件的顶部...
// -*- compile-command:"g++ test.cpp -g -lwinmm -o test.exe"; -*-
请参阅我的博客文章
当然,您需要调整以使用 CL.EXE 并选择适当的参数。
对于启动 make 它有点棘手,因为当您在层次结构的下方编辑文件时,您必须像在父源目录中一样运行 make。
我知道这样做的唯一方法是将其放在每个文件的顶部...
// -*- compile-command:"nmake"; default-directory:"c:/projectroot/"; -*-