如何在Mac上使用gfortran解决编译问题?

时间:2020-01-29 05:03:26

标签: xcode macos linker fortran

每当我尝试在Mac Mojave(10.14)上编译.f90文件时,都会不断出现此错误

collect2:致命错误:ld以信号11终止[分段故障:11] 编译终止。 ld:意外令牌:!tapi-tbd-v3文件 '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/libSystem.tbd'用于架构x86_64

我已经尝试多次卸载Xcode和命令行工具,并创建了指向* tbd文件的符号链接,因此不再需要tbd文件。我也尝试过从笔记本电脑中删除gfortran,然后重新安装,但仍然无法正常工作。

我真的不知道如何解决此问题,我也是这个编译器/链接器主题的初学者。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

如果通过MacPorts安装了gfortran,请卸载它并安装ld64端口的xcode变体:

sudo port install ld64 +ld64_xcode 

此后,用-s安装gcc(N版)以在您的本地计算机上构建它:

sudo port install libgcc<N> libgcc
sudo port install -s gcc<N>

不幸的是,我对不使用MacPorts的解决方案不熟悉。

答案 1 :(得分:0)

安装macports后,以下2条命令对我有用

sudo port -f activate ld64
sudo port install ld64 +ld64_xcode