xcode 什么是“ld:mach-o string pool extends beyond end of file”是什么意思?

vktxenjb  于 2023-06-30  发布在  Mac
关注(0)|答案(2)|浏览(155)

我目前正在尝试制作和安装一个专业软件套件(https://github.com/scottransom/presto),遇到此错误:

gfortran -g -fPIC -o /path-to/presto/bin/psrorbit powerplot.o xyline.o psrorbit.o -L/usr/local/Cellar/cfitsio/3.450/lib -lcfitsio -lcurl -L/path-to/presto/lib -lpresto -L/usr/local/lib -lfftw3f -L/usr/local/lib/pgplot -lcpgplot -lpgplot -L/opt/X11/lib -lX11 -L/opt/X11/lib -lpng16 -lm
ld: mach-o string pool extends beyond end of file in /usr/local/lib/libcpgplot.dylib file '/usr/local/lib/libcpgplot.dylib' for architecture x86_64
collect2: error: ld returned 1 exit status
make: *** [psrorbit] Error 1

我不认为这是一个与PRESTO本身相关的问题,因为一些搜索(参见thisthisthis)指向一些基本的东西,也许是Xcode。我目前有11.3版本,我还安装了命令行工具。那么,错误本身意味着什么呢?任何帮助都是有用的!

2fjabf4q

2fjabf4q1#

根据我对Apple's version of ld源代码的阅读,这个错误意味着对象中的符号表在文件结束时过早结束。
在链接时,似乎对对象文件执行了相当多的健全性检查。您的/usr/local/lib/libcpgplot.dylib副本可能已损坏。

gwbalxhn

gwbalxhn2#

在我的例子中,我把我最新的更改隐藏在我记得它成功构建的地方,但问题仍然存在。
对我有用的是:在Xcode中运行CMD + Shift + K;关闭Xcode;在终端运行

rm -rf ~/Library/Developer/Xcode/DerivedData

在那之后,我启动了Xcode,这个问题得到了解决。不知道它为什么出现,也不知道它为什么消失。我想,只是Xcode让我的工作时间更加多样化😂

相关问题