gpt4 book ai didi

gcc - 库构建中的静态 -libgfortran

转载 作者:行者123 更新时间:2023-12-04 17:36:21 24 4
gpt4 key购买 nike

我正在尝试构建一个只有对 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 的动态链接) .

看起来 gcc is not build statically在 OS X 上。

如何构建我的库,以便最终用户不需要安装 gfortran 或 gcc?

我正在使用 gcc 的 macports 版本,但如果允许我这样做,我准备使用 gfortran/gcc 的另一个分销商。

最佳答案

-dynamiclib -lgfortran -static-libgfortran \
/opt/local/lib/gcc47/libquadmath.a -static-libgcc

似乎可以解决问题!

奇怪的是我发现我需要添加到 libquadmath.a 的完整路径,这感觉就像 gcc 的错误/ gfortran老实说。

关于gcc - 库构建中的静态 -libgfortran,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17910684/

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