Frage

ich gcc verwenden einige Fortran-Quelldateien in *.lib und *.dll auf Windows-Plattform zu kompilieren, die neueste Version unter Verwendung von mingw . Die gcc verwendete Version 3. Das Ergebnis der Ausgabe ist arpack_win32.dll, blas_win32.dll und lapack_win32.dll.

Ich möchte dann zu kompilieren sssimp.f gegen die arpack_win32.dll, blas_win32.dll und lapack_win32.dll mit Intel Visual fortran Compiler für Windows weil sssimp.f verwendet diesen DLLs. Aber ich habe den Eindruck ( von Intel Support-Forum ), dass dies nicht möglich.

Ist mein Eindruck richtig ? Oder ist es, dass, solange ich die zugrunde liegenden Libs und DLLs erzeugen kann (egal in welcher Compiler und wie alt es ist), habe ich sie als meine Basis Libs und DLLs verwenden können, und ich kann von jedem auf sie verweisen, modern oder alt, Compiler?

War es hilfreich?

Lösung

g77 verwendet eine andere ABI als IVF, ja. Also, wenn IVF hat einig g77 / f2c Kompatibilität Option, es ist nicht zur Arbeit gehen.

Die einfachste Lösung für Sie ist wahrscheinlich IVF zu verwenden, auch die Bibliotheken zu kompilieren.

Andere Tipps

Wie bereits erwähnt, Compiler mit verschiedenen Aufrufkonventionen Mischen ist wahrscheinlich sehr schwierig sein.

Die Antwort auf dem Intel-Forum zeigte eine Version von arpack zu Fortran 90 übersetzt aus - http://people.sc.fsu.edu/~burkardt/f_src/arpack/arpack.html - können Sie dieses? Auch finden Sie unter http://people.sc.fsu.edu/~ burkardt / f_src / lapack / lapack.html und http : //people.sc.fsu.edu/~burkardt/f_src/blas1_s/blas1_s.html

oder Intel von Visual Fortran sollte in der Lage sein, Fortran zu kompilieren 77 geeignete Compiler-Optionen. Welche Sprachkonstrukte lehnt es?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top