让 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