错误 LNK1104:无法使用 f2py 和 Intel Fortran 打开文件 'ifconsol.lib'

error LNK1104 : cannot open file 'ifconsol.lib' using f2py and Intel Fortran

系统信息

Windows 10 家庭版 64 位(10.0,内部版本 14393)

Python 3.5.2 |Anaconda 4.1.1(64 位)|

英特尔 Parallel Studio XE 2017

遇到问题

我尝试按照 f2py 用户指南中的示例并在本地目录中启动 cmd 并键入以下内容

f2py -c fib1.f -m fibtest

之前一切似乎都很好
Found executable C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe
LINK : fatal error LNK1104: cannot open file 'ifconsol.lib'
error: Command "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:C:\Anaconda3\libs /LIBPATH:C:\Anaconda3\PCbuild\amd64 /LIBPATH:C:\Anaconda3\libs /LIBPATH:C:\Anaconda3\PCbuild\amd64 /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\lib.0.10240.0\ucrt\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\NETFXSDK.6.1\lib\um\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits.1\lib\winv6.3\um\x64" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\LIB\amd64" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\LIB\amd64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\lib.0.10240.0\ucrt\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\NETFXSDK.6.1\lib\um\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits.1\lib\winv6.3\um\x64" /EXPORT:PyInit_fibtest C:\Users\FRANKH~1\AppData\Local\Temp\tmpxmd8uex9\Release\Users\FRANKH~1\AppData\Local\Temp\tmpxmd8uex9\src.win-amd64-3.5\fibtestmodule.obj C:\Users\FRANKH~1\AppData\Local\Temp\tmpxmd8uex9\Release\Users\FRANKH~1\AppData\Local\Temp\tmpxmd8uex9\src.win-amd64-3.5\fortranobject.obj C:\Users\FRANKH~1\AppData\Local\Temp\tmpxmd8uex9\Release\fib1.o /OUT:.\fibtest.cp35-win_amd64.pyd /IMPLIB:C:\Users\FRANKH~1\AppData\Local\Temp\tmpxmd8uex9\Release\Users\FRANKH~1\AppData\Local\Temp\tmpxmd8uex9\src.win-amd64-3.5\fibtest.cp35-win_amd64.lib" failed with exit status 1104

error: 添加于 2016 年 9 月 27 日以获取更多信息。

我注意到 error: 之后的路径都在 C: 而我的 intel fortran 安装在 D:,我想这就是问题所在?

尝试过的解决方案

这个问题似乎与 F2PY cannot find intel fortran compiler on windows 7 中的最后一条评论相同,所以我通过键入

尝试了那里的方法
f2py -c fib1.f -m fibtest -L"D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.0.109\windows\compiler\lib\intel64"

它确实奏效了。

我自己尝试从 Compiler 17.0 for Intel 64 Visual Studio 2015 环境启动 cmd,它位于开始菜单的 intel 目录中。

重定向到 fib1.f 的目录后,只需键入

f2py -c fib1.f -m fibtest

效果也不错

那么,有没有更好的方法来解决这个问题,让我可以通过简单的输入在本地启动的 cmd 中完成工作?

在查看 Steve 的回答后于 2016 年 9 月 27 日添加了以下内容:

我相信快捷方式与我第二次尝试的解决方案相同,call "%IFORT_COMPILER17%bin\ifortvars.bat" intel64 确实为我提供了一个替代方案,而我仍然想知道一个自动解决方案。

您需要以某种方式设置 Intel Fortran 环境。最简单的方法是使用已安装的快捷方式。但是如果你在你的命令中输入一次 window 它应该允许你稍后省略 -L 选项:

call "%IFORT_COMPILER17%bin\ifortvars.bat" intel64

你应该已经正确搭建了环境。