【发布时间】:2013-07-28 10:54:56
【问题描述】:
我正在尝试构建一个仅包含对 libgfortran 的静态引用的库(最好还包含 libgcc)。
但是,如果我使用链接器标志
-static -lgfortran -static-libgfortran -static-libgcc
在 OS X 上我得到了
ld: library not found for -lcrt0.o
collect2: error: ld returned 1 exit status
如果我尝试使用
-shared -lgfortran -static-libgfortran
我明白了
Undefined symbols for architecture x86_64:
"_quadmath_snprintf", referenced from:
_write_float in libgfortran.a(write.o)
"_strtoflt128", referenced from:
__gfortrani_convert_real in libgfortran.a(read.o)
__gfortrani_convert_infnan in libgfortran.a(read.o)
如果我使用-dynamiclib -lgfortran,一切都可以正常编译(但有一个到 libgfortran 和 libgcc 的动态链接)。
在 OS X 上看起来gcc is not build statically。
如何构建我的库以使最终用户无需安装 gfortran 或 gcc?
我正在使用 gcc 的 macports 版本,但如果允许我这样做,我准备使用 gfortran/gcc 的另一个分发器。
【问题讨论】:
标签: gcc linker fortran static-linking