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

Posted

技术标签:

【中文标题】在 Emacs 中使用 Visual Studio 6 C++ 编译器【英文标题】:Using Visual Studio 6 C++ compiler from within Emacs 【发布时间】:2009-06-04 20:03:28 【问题描述】:

我刚刚开始使用 c++ 开发,我想使用 emacs 编写代码,然后使用 Visual Studio 6 编译器在 emacs 中编译和运行它。我已经用谷歌搜索了一下,但似乎无法找到有关如何完成此操作的解释。 有什么指点吗?

感谢您的帮助,

乔尔格

【问题讨论】:

+1 用于 Emacs 踢出糟糕的编辑器 ;) 【参考方案1】:

在过去的几年里,我理所当然地这样做了。有两种方法可以做到这一点:

    在旧版本的VS(包括VS 6.0)中,有一个按钮可以导出项目的nmake文件。我有时会这样做,然后使用 nmake 进行编译。我有

    (setq compile-command "nmake debug")

    在我的 .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 中没有这样做,但我相信它也可以工作。

【讨论】:

【参考方案2】:

我不确定您是否会考虑仅将 Visual Studio 中的文本编辑器与 Emacs 交换,但这里有一个 sf.net 项目可以做到这一点。

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

【讨论】:

【参考方案3】:

结帐http://www.kuro5hin.org/story/2003/4/1/21741/10470

【讨论】:

【参考方案4】:

作为 Andrew Stein 回答的后续,要在 Visual Studio 6 上构建命令行而不使用 nmake,请使用以下语法:

msdev wspname.dsw /make "project - Win32 Debug"

【讨论】:

注意:对于 VS2005,正确的命令是 devenv.com ../slnname.sln /build "project - Win32 Debug"(如果您想在编译缓冲区中查看输出,“.com”很重要)。 emacswiki.org/MSVisualStudio 提供了在 emacs 中设置环境变量的良好说明【参考方案5】:

Visual Studio 是一个 IDE

它使用下面的 cl.exe 编译器。

【讨论】:

【参考方案6】:

我们使用带有 GNU make (gmake) 的 emacs,它使用我们自己的 gmake 包装器可执行文件进行包装,并且运行良好。

只需设置一个简单的键绑定即可在您正在编译的 .c/.cpp 文件上调用 cl.exe 以构建您的 .obj 文件。我们有一个用于在文件夹中初始化编译的键绑定,它将生成所有不是最新的 .obj 文件,但这完全由 GNU make 处理。

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

【讨论】:

【参考方案7】:

有点跑题了,但你为什么使用 Visual Studio 6?当前版本的 Visual Studio 的编译器(以及精简的 IDE)可从 Microsoft 免费获得。

在任何一种情况下,您都可以从命令行调用编译器,因此它应该像设置 makefile 一样简单。

【讨论】:

【参考方案8】:

如果您只想设置一个文件进行编译,请将其放在文件顶部...

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

在此查看我的blog post

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

要启动 make 它有点棘手,因为当您在层次结构的更下方编辑文件时,您必须像在父源目录中一样运行 make。

我知道这样做的唯一方法是将其放在每个文件的顶部...

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

【讨论】:

以上是关于在 Emacs 中使用 Visual Studio 6 C++ 编译器的主要内容,如果未能解决你的问题,请参考以下文章

我可以从命令行编码和编译所有类型的 Visual Studio 应用程序吗?

Visual Studio 都有哪些好用的插件

Android studio界面相关设置

如何在 Visual Studio 2010 中使用 Visual Studio 2008 创建的 DLL?

如何在 Visual Studio 2008 中打开使用 Visual Studio 2005 创建的 rdl?

我可以在 Visual Studio 2008 中使用 Visual Studio 6 编译的 C++ 静态库吗?