gfortran在Mac OS X 10.9上不起作用

时间:2013-10-09 00:35:39

标签: macos gfortran

我将Mac更新为OS X 10.9 GM,然后我发现gfortran不起作用。 在构建任何程序时,它显示:

ld: library not found for -lcrt1.10.5.o
collect2: ld return 1

有谁知道我怎么解决这个问题?

3 个答案:

答案 0 :(得分:4)

这个问题是因为OS X 10.9已经完全删除了库crt1.10.5.o用于定位的/ Developer目录。库已移至新的Xcode目录(确保Xcode也更新到最新版本5.0.1+)。我发现crt1.10.5.o实际上隐藏在这里/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S DKs / MacOSX10.9.sdk / usr / lib。我相信应该有一种方法来自动重定向ld,但我不知道如何。所以现在我使用-L标志进行编译。

gfortran ... -L /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/S‌​DKs/MacOSX10.9.sdk/usr/lib/

这对我来说是一个温州的解决方案。我也在等待更好的解决方案。

答案 1 :(得分:3)

Gfortran已经由http://hpc.sourceforge.net/

为Mac OS X Mavericks 10.9编译

首先,cd到Mavericks安装的根目录,以便文件以递归方式提取到正确的文件夹中

cd /
sudo wget http://prdownloads.sourceforge.net/hpc/gcc-4.9-bin.tar.gz
tar -xvf gcc-4.9-bin.tar.gz

gfortran --help

答案 2 :(得分:0)

我有类似的问题(ld:找不到-lcrt0.o的库)但我发现当我停止使用带有gfortran命令的-static标志时它们就消失了。 -static-libgcc标志似乎没问题。