我有一个Windows中生成的Fortran“ .exe”文件。我想在Linux平台上编译时将其与其他Fortran例程链接。
例如,我在Windows上生成了“ a.exe”文件。我在linux机器上写了“ b.f90”和“ c.f90”。我想编译“ b.f90”和“ c.f90”,并将它们链接到“ a.exe”以生成最终的“ .exe”文件。
有可能吗?
答案 0 :(得分:1)
否,这是不可能的。
(否则将会非常复杂,并且必须为此专门准备.exe。)
不仅Linux和Windows可执行文件不兼容。不要将.exe与任何东西链接在一起,而不是在Windows,Linux和其他任何地方都没有链接(除非与可执行文件始终需要的.dll或.so动态库链接)。通常要做的是将Fortran或其他语言源编译为目标文件,然后可以将目标文件链接以形成库(动态或静态)或形成可执行文件。
如果.exe文件已经需要一些.dll库,或者能够根据要求加载某些文件,从理论上讲,您可以编译.f90文件以制作这些.dll库(在Windows或Windows XP中,在Wine中使用Linux或使用交叉编译器的Windows编译器),然后使用Wine在Linux下运行所有程序。但是我只是从头开始重新编译Linux上的所有内容。