gpt4 book ai didi

macos - 在 Mac 上从 Fortran 编译 'static' 二进制文件

转载 作者:行者123 更新时间:2023-12-02 09:09:00 26 4
gpt4 key购买 nike

我想在 mac 上编译 fortran 代码,使其不依赖于任何共享库。最终,我希望能够将二进制文件发送给其他人并使其正常工作(前提是处理器具有正确的架构)。我注意到 g95 和 ifort 有一个 -static 标志,它在 mac 上不起作用。

如果我考虑以下程序:

program test
print *,'hello world'
end program test

并编译它

ifort -static-libgcc -static-intel test.f90

生成的二进制文件仍然依赖于一些共享库:

valinor:tmp tom$ otool -L a.out 
a.out:
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 103.0.0)
/usr/lib/libmx.A.dylib (compatibility version 1.0.0, current version 315.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 124.1.1)

那么有没有一种方法可以正确编译 fortran 代码,使其不依赖于 mac 上的任何共享库?

最佳答案

静态库在设计上很难在 Mac OS X 上运行。

参见this post有关 Mac OS X 上的静态二进制文件的更多信息。

理论上,您可以自己构建静态库并链接它们。您必须从 Darwin 获取 C 运行时库并静态编译它、libgcc 等。它会起作用,但可能需要一些工作。

关于macos - 在 Mac 上从 Fortran 编译 'static' 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1539673/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com