GCC生产DLL档与英特尔Fortran的视觉兼容?
-
23-09-2019 - |
题
我用gcc编译几个Fortran源文件到*.lib
和*.dll
在Windows平台上,使用最新版本的的MinGW 。所使用的GCC是版本3的输出的结果是arpack_win32.dll
,blas_win32.dll
和lapack_win32.dll
。
然后我要编译 sssimp.f 反对使用英特尔Visual Fortran编译器的Windows ,从而arpack_win32.dll
,blas_win32.dll
和lapack_win32.dll
,因为sssimp.f
使用这些dll。但是给我的感觉(从英特尔支持论坛 ),这是不可能的。
我的印象正确?抑或是,只要我能产生潜在的库和动态链接库(无论在哪个编译器,这是多大),我可以把他们作为我的基础库和DLL,我可以从任何现代或链接到它们老,编译器?
解决方案
G77使用不同的ABI大于IVF,是的。因此,除非有IVF它不会工作的一些G77 / F2C兼容性选项。
你最简单的解决办法可能是使用IVF编译库了。
其他提示
正如已经指出的,混合的编译器具有不同的调用约定很可能是非常困难的。
在英特尔论坛上回答指出了一个版本ARPACK转换为Fortran 90的的 - 的 http://people.sc.fsu.edu/~burkardt/f_src/arpack/arpack.html - 你能使用吗?另请参见 http://people.sc.fsu.edu/~ burkardt / f_src / LAPACK / lapack.html 和 HTTP ://people.sc.fsu.edu/~burkardt/f_src/blas1_s/blas1_s.html
或Intel的视觉的Fortran应该能够使用合适的编译器选项来编译的Fortran 77。是它拒绝什么语言构造?