在 Emacs 中使用 Visual Studio 6 C++ 编译器
-
11-09-2019 - |
题
我刚刚开始使用 c++ 开发,我想使用 emacs 编写代码,然后使用 Visual Studio 6 编译器在 emacs 中编译并运行它。我已经用谷歌搜索了一下,但似乎无法找到如何完成此操作的解释。有什么指点吗?
感谢您的帮助,
约尔格
解决方案
在过去的几年里,我已经把这件事当作理所当然的事了。有两种方法可以做到这一点:
在旧版本的VS(包括VS 6.0)中,有一个按钮可以导出项目的nmake文件。我有时会这样做,然后使用 nmake 进行编译。我有
(setq 编译命令“nmake debug”)
在我的 .xemace/init.el 中。您必须添加 nmake 文件的名称,并且 nmake.exe 必须位于您的路径中。(顺便说一句,我修改了compilation-error-regexp-alist-alist以帮助解决错误。如果您也想要这个,请告诉我。)
较新版本的 VS 没有导出 nmake 文件的按钮。对于这些,我致电 devenv.com。在这种情况下我有
(setq 编译命令“devenv.com /build Debug”)
在我的 .xemacs/init.el 中。您必须添加 .sln 文件的名称。虽然我没有用 VS 6.0 这样做,但我相信它也可以工作。
其他提示
我不知道你是否会考虑换仅仅Visual Studio中使用Emacs内的文本编辑器,但这里是一个sf.net项目,做到了这一点。
作为后续安德鲁斯坦因的答案,做一个命令行建立在Visual Studio中6,而不使用NMAKE,使用以下语法:
msdev wspname.dsw /make "project - Win32 Debug"
Visual Studio是一个IDE
它使用编译器的cl.exe下方。
我们使用具有 GNU使(使用gmake)的emacs,其是包裹着我们自己的使用gmake包装可执行,它工作得很好。
刚刚成立了一个简单的键绑定来调用您所编译建立你的obj文件的.c / .cpp文件cl.exe时。我们有一个文件夹中的初始化编译,这将使得那些没有及时更新所有.obj文件一个键绑定,但这纯粹是GNU处理作出。
我们也有其他的键绑定,例如用于链接可执行文件并启动它等
一个有点题外话,但为什么您使用的Visual Studio 6?视觉工作室的当前版本的编译器(以及剥离下来的IDE)可用于自由来自Microsoft。
在任一情况下,可以调用从命令行编译器所以它应该是为建立一个生成文件一样简单。
如果你只是想建立一个单一的文件进行编译,然后把这个在你的文件的顶部...
// -*- compile-command:"g++ test.cpp -g -lwinmm -o test.exe"; -*-
请参阅我的博客文章在此
当然,你需要调整使用CL.EXE并选择合适的论据。
有关推出使这是一个有点棘手,因为你必须运行make,如果你是在父源目录,当您进一步编辑一个文件下来的层次结构。
我知道要做到这一点,唯一的办法就是把这个在每个文件的顶部...
// -*- compile-command:"nmake"; default-directory:"c:/projectroot/"; -*-