让 Cygwin 了解 microsoft cl 和 nmake?

Posted

技术标签:

【中文标题】让 Cygwin 了解 microsoft cl 和 nmake?【英文标题】:getting Cygwin to know about microsoft cl and nmake? 【发布时间】:2015-02-03 22:49:35 【问题描述】:

我正在尝试使用以下命令在 Cygwin 中编译 Fortran 运行时库 (f2c):nmake -f makefile.vc all 根据包中给出的指令,首先我必须让 Cygwin 了解 Microsoft cl 编译器和 nmake。我怎样才能在 Cygwin 中做到这一点? 我已经将vcvarsall.bat 添加到Cygwin.bat 文件中,但我不知道我能为nmake 做什么。此时,我收到此错误:-bash nmake: command not found

【问题讨论】:

始终使用标签fortran 并且仅在必要时添加版本以区分您的问题是具体的。例如,您不能使用 Fortran 2008,而只能使用 Fortran 90。 【参考方案1】:

nmake 可执行路径应该存在于您的$PATH 环境变量中。您应该编辑 .bashrc 文件来实现这一点。可以在这里找到:/home/user/.bashrc 或者如果您更喜欢 Windows 编辑器,那么:c:\cygwin\home\user\.bashrc

将这一行加上正确的路径添加到文件末尾:

export PATH="$PATH:/cygdrive/c/Program Files/path_to_dir_which_contains_nmake.exe"

之后应该启动一个新的cygwin终端,您可以在其中使用nmake命令。

【讨论】:

感谢您的帮助。我将您提到的文件的 nmake 路径添加为export PATH="$PATH:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin/nmake.exe".bashrc 文件的末尾。然后我打开了一个新的 Cygwin 终端,但仍然出现同样的错误。我在提到的文件夹中有nmake.exe @user3439894:我将$PATH 更改为export PATH="$PATH:/cygdrive/c/'Program Files (x86)'/'Microsoft Visual Studio 12.0'/VC/bin/nmake.exe",但仍然无法正常工作(比如-bash: nmake: command not found)。我也试过你提到的另一种方法,但没有奏效。 @user3439894:是的,我也尝试过使用反斜杠的形式。不幸的是,它不起作用。 @user3439894:谢谢,感谢您的帮助。希望其他人可以帮助我解决此问题。 在这种情况下不应转义空格。我刚才试过了。实际上问题是您添加了nmake.exe 的路径,而不是容器目录。所以你应该添加这一行:PATH="$PATH:/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/bin"

以上是关于让 Cygwin 了解 microsoft cl 和 nmake?的主要内容,如果未能解决你的问题,请参考以下文章

如何自定义 Microsoft cmdline 编译器 cl 的 .exe 文件名?

Python 错误:命令 '...\Microsoft Visual Studio 10.0\\VC\\BIN\\cl.exe' 失败,退出状态为 2

如何关闭Microsoft编译器(cl)中的异常?

如何让 cygwin终端中显示的中文改成英文

如何让cygwin启动时进入指定目录

错误 MSB6006:“CL.exe”以代码 2 退出