Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误LNK1104:无法打开文件';ifconsol.lib';使用f2py和Intel Fortran 系统信息_Fortran_Anaconda_Intel Fortran_F2py - Fatal编程技术网

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

错误LNK1104:无法打开文件';ifconsol.lib';使用f2py和Intel Fortran 系统信息,fortran,anaconda,intel-fortran,f2py,Fortran,Anaconda,Intel Fortran,F2py,Windows 10 Home 64位(10.0,版本14393) Python 3.5.2 | Anaconda 4.1.1(64位)| 英特尔并行工作室XE 2017 遇到的问题 我尝试按照f2py用户指南中的示例,在本地目录中启动cmd,然后键入以下命令 f2py -c fib1.f -m fibtest 一切似乎都很好,直到 Found executable C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_a

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

Python 3.5.2 | Anaconda 4.1.1(64位)|

英特尔并行工作室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:
之后的路径都在
C:
中,而我的英特尔fortran安装在
D:
中,我想这是罪魁祸首吧

尝试过的解决方案 这个问题似乎与中的最后一条评论相同,因此我通过键入

f2py -c fib1.f -m fibtest -L"D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.0.109\windows\compiler\lib\intel64"
它确实起了作用

我自己尝试从编译器17.0 for Intel 64 Visual Studio 2015环境启动cmd,该命令位于“开始”菜单的“英特尔目录”中

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

f2py -c fib1.f -m fibtest
也很好用

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

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


我相信快捷方式与我第二次尝试的解决方案相同,调用“%IFORT\u COMPILER17%bin\ifortvars.bat”intel64确实为我提供了一个替代方案,而我仍在想一个自动解决方案。

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

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

您将正确地建立环境。

从OP“很抱歉,我将休息半天,可能无法快速回复。”您注意到,我以前删除了您的编辑。您也不必写以下内容是2016年9月27日添加的。。。堆栈溢出自动显示了这一点。注意问题下方的*2小时前编辑*。当你点击它,你会看到完整的历史。无需声明edit1、edit2或输入日期。顺便说一句,Steve Lionel的命令是自动的。让它在每次登录时都运行。上次我定期使用微软操作系统时,它在
autoexec.bat
中。现在可能在其他地方。我没有找到autoexec.bat,但我尝试将
调用“%IFORT\u compiler 17%bin\ifortvars.bat”intel64
添加到
HKEY\u CURRENT\u USER\SOFTWARE\Microsoft\Command Processor\AutoRun
。因此,每次我启动cmd时,它似乎都陷入了一个无休止的循环中。我猜
调用
本身会产生一个新的
自动运行
@VladimirFYes,使用快捷方式与我第二次尝试的解决方案相同,调用只是一种手动启动环境的方式,对吗?我仍然想知道是否有某种自动方式。是的,这个电话和使用快捷方式是一样的。您可以创建自己的.bat文件快捷方式,以设置所需的环境。我推荐没有比这更自动的了。