我将Mac更新为OS X 10.9 GM,然后我发现gfortran不起作用。 在构建任何程序时,它显示:
ld: library not found for -lcrt1.10.5.o
collect2: ld return 1
有谁知道我怎么解决这个问题?
答案 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/SDKs/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标志似乎没问题。