2016-09-25 11 views
0

System Info

Windows-10 Startseite 64-bit (10.0, baut 14393)Fehler LNK1104: Datei kann nicht geöffnet 'ifconsol.lib' mit f2py und Intel Fortran

Python 3.5.2 | Anaconda 4.1.1 (64-Bit) |

Intel Parallel Studio XE 2017

Problem Encountered

Ich versuche, das Beispiel in f2py Anleitung zu folgen und cmd in lokalem Verzeichnis starten und geben Sie die folgenden

f2py -c fib1.f -m fibtest 

und alles scheint in Ordnung bis

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: wurde hinzugefügt 27.09.2016 für weitere Informationen.

Ich bemerke, dass der Pfad nach error: ist alles in einem C: während mein Intel Fortran in einem D: installiert ist, denke ich, es ist der Punkt zu beschuldigen?

Versuchte Lösungen

Dieses Problem zum letzten Kommentar in F2PY cannot find intel fortran compiler on windows 7 identisch scheint, so habe ich versucht, die es Möglichkeiten, durch

Eingabe
f2py -c fib1.f -m fibtest -L"D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2017.0.109\windows\compiler\lib\intel64" 

und es hat funktioniert.

Ich selbst versuche, die Cmd von Compiler 17.0 für Intel 64 Visual Studio 2015-Umgebung zu starten, die im Intel-Verzeichnis im Startmenü gefunden wird.

Nachdem Sie in das Verzeichnis von fib1.f Umleitung einfach

f2py -c fib1.f -m fibtest 

funktioniert auch gut tippen.

Also, gibt es einen besseren Weg, um das Problem zu lösen, so dass ich die Arbeit in einem lokal gestarteten Cmd mit einer einfachen Eingabe machen kann?

wurde die folgende 2016.09.27 nach der Überprüfung der Antwort von Steve hinzugefügt:

glaube ich, die Verknüpfung der gleiche wie meine zweite versuchte Lösung ist und die call "%IFORT_COMPILER17%bin\ifortvars.bat" intel64 mir eine Alternative bot, während ich immer noch fragen, bin eine automatische Lösung.

+0

Von der OP * "Es tut mir leid, dass ich für ungefähr einen halben Tag aus bin und keine schnelle Antwort geben kann." * –

+0

Wie Sie bemerkt haben, löschte ich Ihre ** Bearbeitung ** vorher. Du musst auch nicht schreiben * Folgendes wurde hinzugefügt 27.09.2016 ... * Stack Overflow zeigt dies automatisch an. Beachten Sie das * vor 2 Stunden bearbeitet * unter der Frage. Wenn Sie darauf klicken, sehen Sie den vollständigen Verlauf.Keine Notwendigkeit, edit1, edit2 oder ein Datum anzugeben. –

+0

Und BTW das Kommando von Steve Lionel * ist * automatisch. Lass es einfach bei jeder Anmeldung laufen. Als ich letztes Mal Microsoft OS regelmäßig benutzte, war es in 'autoexec.bat'. Wahrscheinlich ist es jetzt woanders. –

Antwort

0

Sie müssen die Intel Fortran-Umgebung irgendwie einrichten. Am einfachsten ist es, die Verknüpfung zu verwenden, die installiert wird. Aber wenn Sie diese Art einmal in Ihrem Befehlsfenster sollte es Ihnen erlauben, die Option -L wegzulassen später:

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

Sie richtig die Umwelt etabliert haben wird.

+0

Ja, mit der Verknüpfung ist das gleiche wie meine zweite versuchte Lösung und der Anruf ist nur ein manueller Weg, um die Umgebung zu starten, oder? Ich frage mich immer noch ob es irgendwie automatischen Weg gab. –

+0

Ja, der Anruf ist der gleiche wie die Verwendung der Verknüpfung. Sie können Ihre eigene Verknüpfung zu einer .bat-Datei erstellen, die die gewünschte Umgebung einrichtet. Es gibt nichts automatischeres, das ich empfehlen würde. –

Verwandte Themen