首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >collect2:致命错误:无法找到“ld”编译终止

collect2:致命错误:无法找到“ld”编译终止
EN

Ask Ubuntu用户
提问于 2016-07-14 07:44:53
回答 4查看 23.5K关注 0票数 3

当我试图运行C和C++program时

代码语言:javascript
运行
复制
collect2: fatal error: cannot find 'ld' compilation terminated.

我已经安装了GCC和G++的最新版本。

EN

回答 4

Ask Ubuntu用户

发布于 2018-01-11 12:43:59

在我的例子中,我解决了这一问题,并找到了解决办法:

在交叉编译器bin dir上,我创建了一个指向编译器的符号链接。

代码语言:javascript
运行
复制
ld (ld -> powerpc-fsl-linux-ld). 

然后,在makefile或build脚本中,我将工具链文件夹添加到PATH变量中

代码语言:javascript
运行
复制
export PATH=$PATH:"toolchain-dir-absolute-path"

啊,真灵!

票数 3
EN

Ask Ubuntu用户

发布于 2016-10-25 09:23:49

我们的团队在通过RHEL6 DTS2通过AFL构建时也遇到了同样的错误。我们使用GNU链接器来解决这个问题,而不是使用金链接器,CMake似乎是默认的。

在您的编译器命令行中,查找并消除-Wl,-fuse-ld=gold

在我们的CMake构建系统中,这是通过调用带有附加选项-DCOL_WITHOUT_GOLD的构建脚本来实现的。

票数 2
EN

Ask Ubuntu用户

发布于 2017-08-10 21:35:50

您可以通过apt-get install binutils-gold安装黄金链接器。

对我来说,这仍然会导致错误,因为binutils黄金安装了一个/usr/bin/ld.gold,通过strace,gcc似乎想要一个带有完整主机三重的二进制文件,例如x86_64-nptl-linux-gnu-ld.gold。我不得不把它和ln -s /usr/bin/ld.gold /usr/bin/x86_64-nptl-linux-gnu-ld.gold连接起来,然后一切都好起来了。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/798453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档