我有一个要分发的 fortran 程序,所以我想静态链接到 gfortran 库中。
如果我使用以下标志编译程序:
gfortran -o myprog -static-libgfortran -static-libgcc myprog.f
otool 告诉我它在大多数 gofrtran 库中都是静态链接的,但不是 libquadmath:
otool -L myprog
/usr/local/gfortran/lib/libquadmath.0.dylib (compatibility version 1.0.0, current v
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)
有一个静态 libquadmath 库/usr/local/gfortran/lib/libquadmath.a
,但我尝试的每条链接线总是以完整的静态链接(OSX 不支持)或到 libquadmath 的动态链接结束。
我设法通过从 /usr/local/gfortran/lib/ 中删除 libquadmath.0.dylib 和 libquadmath.dylib 来创建我想要的东西,然后链接器会拉入静态库。
但是,至少可以说,这似乎有些笨拙。
谁能建议一种更优雅的方式来做到这一点?
谢谢!