在 Windows 7 上从 emacs 运行 nmake

Posted

技术标签:

【中文标题】在 Windows 7 上从 emacs 运行 nmake【英文标题】:Run nmake from emacs on Windows 7 【发布时间】:2012-09-15 18:10:02 【问题描述】:

我知道有一些关于该主题的帖子,但没有得到满意的答案:

我开发 C++ 代码并使用 CMake 作为构建系统。我通常在 Linux 环境中工作。现在我想将我的代码移植到 windows 上,并能够在 emacs 中编辑和编译它。

我使用 CMake 生成“NMAKE Makefiles”。这工作正常,但前提是我从“Visual Studio 命令行”运行 nmake。 Visual Studio 命令行就像常规的 Windows 命令行一样,设置了一堆环境变量。 如果我从常规 Windows 命令行运行 nmake,我最终会得到“nmake: unrecognized command”(不完全是错误消息,这是法语的近似翻译)。

按照emacs wiki 中的旧文档,我找到了设置变量的.bat 文件。如果我从常规命令行运行 .bat 然后调用 nmake,它可以工作。但是当我从 emacs 运行 name 时,它​​只是在普通的常规命令行中运行程序,它对 nmake 和环境变量一无所知。

那我怎样才能让所有东西一起工作呢?

【问题讨论】:

附带说明:使用 CMake,您还可以生成“普通”Visual Studio 解决方案文件,然后在命令行上使用 msbuild。 【参考方案1】:

最好的方法是编写一个 bat 文件,其中包含如下必要的设置:

call "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"

nmake

然后从 emacs 调用这个文件,而不是简单的“nmake”命令。这每次都会重做初始化,但应该足够快。

【讨论】:

或者,您可以设置您的环境directly in Emacs lisp。通过这种方法,您可以在 Emacs 中使用 Visual Studio 2010 命令提示符提供的任何工具。【参考方案2】:

找到另一个解决方案:使用 Visual Studio 命令行从命令行启动 emacs,并且所有变量和路径在 emacs 中都很好。

我还按照 Cheeso 在 this related question 中的建议设置了我的 .emacs。

【讨论】:

以上是关于在 Windows 7 上从 emacs 运行 nmake的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 上从 pygraphviz 运行neato

如何在 Vista 和 Windows 7 上从我的应用程序启动屏幕键盘

在Windows 7的Emacs 24.3.1中,如何在dired中首先对目录进行分组?

如何在 Windows 7 上从 .Net 版本 2 升级到版本 4

在Windows 7上从Windows 10 VS2017部署编译并找不到DLL

在 Windows 上从 python 运行星露谷物语