2016-09-25 1140 views
0

系統信息

的Windows 10家64位(10.0,建設14393)錯誤LNK1104:無法打開文件 'ifconsol.lib' 使用f2py和英特爾Fortran

的Python 3.5.2 |蟒蛇4.1.1 (64位)|

英特爾Parallel Studio XE 2017年

問題遇到

我試着按照f2py用戶手冊中的示例和本地目錄推出cmd,然後鍵入以下

f2py -c fib1.f -m fibtest 

,一切似乎OK直到

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 

error:已被添加9/27/2016獲取更多信息。

我注意到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啓動英特爾64 Visual Studio 2015環境的cmd,它位於開始菜單的intel目錄中。

重定向到fib1.f的目錄,只需鍵入

f2py -c fib1.f -m fibtest 

也工作良好的售後服務。

那麼,有沒有更好的方法來解決這個問題,以便我可以用簡單的打字工具在本地啓動的cmd中完成工作?

下面是檢查從史蒂夫答案後增加2016年9月27日:

相信快捷方式是一樣的我的第二個嘗試的解決方案和call "%IFORT_COMPILER17%bin\ifortvars.bat" intel64沒有給我提供一個替代,而我仍然不知道自動解決方案。

+0

來自OP *「對不起,我會關閉大約半天,可能不會快速回復。」* –

+0

正如你注意到我之前刪除了你的**編輯**。您不必寫*以下內容已添加9/27/2016 ... * Stack Overflow自動顯示此內容。注意2小時前*編輯的問題。當你點擊它時,你會看到完整的歷史記錄。無需說明edit1,編輯2或放置日期。 –

+0

順便提一下,Steve Lionel *的命令是*自動的。讓它在每次登錄時運行。當我上次定期使用Microsoft操作系統時,它位於'autoexec.bat'中。可能它現在在別的地方。 –

回答

0

您需要以某種方式設置英特爾Fortran環境。最簡單的方法是使用安裝的快捷方式。但是,如果你在命令窗口中鍵入這一次,它應該讓你以後忽略-L選項:

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

你會正確建立起了環境。

+0

是的,使用快捷方式與我第二次嘗試的解決方案相同,並且調用只是一種手動啓動環境的方式,對不對?我仍然懷疑是否有某種自動方式。 –

+0

是的,呼叫與使用快捷方式相同。你可以創建你自己的.bat文件的快捷方式來設置你想要的環境。沒有什麼更自動的,我會推薦。 –

相關問題