【发布时间】:2013-07-11 10:03:19
【问题描述】:
我有一个要分发的 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 来创建我想要的内容,然后链接器会拉入静态库。
但是,至少可以这样说,这似乎有些笨拙。
任何人都可以提出一种更优雅的方法吗?
谢谢!
【问题讨论】: