首页 > 解决方案 > ld:文件太小(长度=0)文件(在失败的gfortran编译中)

问题描述

在 Mac OS (Catalina) 上,该命令gfortran -o file file.f 通常会给出一个可执行的“文件”但现在我的环境已损坏,我得到了

>ld: file too small (length=0) file '/var/folders/dz/qjjbfdzs663fd6jmv27hcz300000gn/T//ccZ1MxJv.o' for architecture x86_64

我重新安装了 Xcode 和 gfortran(版本 12... 和 10...)以及“命令行工具”并删除了 Library/Developer/DerivedData,但问题仍然存在。这个网站上有关于这个问题涉及 Xcode“清理”的建议,但我通常不会显式调用 Xcode(我在终端窗口中工作,发出命令行。)我没有看到如何将 Xclass 引导到我的“项目”本质上是为了“清洁”。

我也无法找到上面的文件:在 ...T/ 目录中没有看到它,或者(T// 不管这意味着什么)。

对于它的价值 - 尝试编译和链接和 ld 任何 .f 程序现在都会给出这个致命错误,每个都有不同的 ...T..// 文件。

标签: macosfortrangfortran

解决方案


一般来说,我发现使用XCodegfortran准备使用的安装程序真的很棘手。我并不是说它总是坏掉,但很多时候我都遇到过一些问题。

相反,我建议从源代码安装所有内容。看看这里:

安装GNU基于链macOS

https://www.owsiak.org/building-opencoarrays-on-macos-everything-from-the-sources-gcc-9-2-0/

然后,您可以使用模块轻松维护它

https://www.owsiak.org/modules-as-a-convenient-way-of-choosing-build-chain-on-macos/

brew我知道与其他工具相比,它更耗时,但是在使用从源代码构建的整个链时,我从未遇到过编译、链接等问题。


推荐阅读