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

时间:2016-09-25 04:57:55

标签: fortran anaconda intel-fortran f2py

系统信息

Windows 10 Home 64位(10.0,版本14393)

Python 3.5.2 | Anaconda 4.1.1(64位)|

Intel 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\10\lib\10.0.10240.0\ucrt\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\8.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\10\lib\10.0.10240.0\ucrt\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\lib\um\x64" /LIBPATH:"C:\Program Files (x86)\Windows Kits\8.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

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

我注意到error:之后的路径全部在C:,而我的英特尔Fortran安装在D:中,我想它应该归咎于什么?< / p>

Tried Solutions

此问题似乎与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启动cmd for Intel 64 Visual Studio 2015环境,该环境位于开始菜单的intel目录中。

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

即可
f2py -c fib1.f -m fibtest

也很好。

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

您将正确建立环境。