将Windows.exe与Linux上的其他Fortran例程链接起来



我有一个在Windows中生成的Fortran".exe"文件。在Linux平台上编译时,我想将它与其他Fortran例程链接起来。

例如,我在Windows上生成了"a.exe"文件。我在linux机器上写了"b.f90"one_answers"c.f90"。我想编译"b.f90"one_answers"c.f90",并将它们链接到"a.exe"以生成最终的".exe"文件。

有可能吗?

不,这是不可能的。

(或者它会非常非常复杂,.exe必须为此专门准备。(

不仅Linux和Windows可执行文件不兼容。您不将.exe与任何东西链接,不在Windows上,不在Linux上,也不在任何地方链接(除了与可执行文件始终需要的.dll或.so动态库链接(。您通常要做的是将Fortran或其他语言源编译为对象文件,然后可以链接对象文件以形成库(动态或静态(或可执行文件。

理论上,如果.exe文件已经需要一些.dll库,或者能够根据请求加载一些,那么你可以编译你的.f90文件来创建这些.dll库(在Windows中,或者在Wine中的Linux下使用Windows编译器,或者使用交叉编译器(,然后使用Wine在Linux下运行所有程序。但我只是从头开始重新编译Linux上的所有内容。

最新更新