首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux从头开始(7.9)第6.10章链接失败

Linux从头开始(7.9)第6.10章链接失败
EN

Stack Overflow用户
提问于 2016-07-17 07:00:13
回答 1查看 673关注 0票数 2

Here就是我的脚步。到目前为止,一切都很顺利,但是在用新的链接器替换旧的链接器并对specs文件进行更改之后,我在尝试编译dummy.c时得到了以下错误

代码语言:javascript
复制
 /tools/libexec/gcc/i686-pc-linux-gnu/5.3.0/collect2 -plugin /tools/libexec/gcc/i686-pc-linux-gnu/5.3.0/liblto_plugin.so -plugin-opt=/tools/libexec/gcc/i686-pc-linux-gnu/5.3.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cciBczi2.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o /tools/lib/gcc/i686-pc-linux-gnu/5.3.0/crtbegin.o -L/tools/lib/gcc/i686-pc-linux-gnu/5.3.0 -L/tools/lib/gcc/i686-pc-linux-gnu/5.3.0/../../../../i686-pc-linux-gnu/lib /tmp/ccxbWIWi.o "" -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /tools/lib/gcc/i686-pc-linux-gnu/5.3.0/crtend.o /usr/lib/crtn.o
/tools/lib/gcc/i686-pc-linux-gnu/5.3.0/../../../../i686-pc-linux-gnu/bin/ld: cannot find : No such file or directory
collect2: error: ld returned 1 exit status

经过大量的谷歌搜索,我在同一阶段看到了其他关于类似问题的帖子,但所有这些错误都是指丢失的特定文件(通常是crt*.o文件),但这个错误是不同的,令人困惑的是,它实际上没有列出它找不到的文件。我已经确保ld和指向它的各种链接存在,并在您调用它们时执行操作。我甚至已经将目录剪切并粘贴到一个cd命令中,它确实可以工作(我最初是被路径中的/../../../../抛出的,但它似乎工作得很好)。collect2找不到或找不到什么文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-17 08:26:19

问题是在编译文件时发出的命令中有额外的空间。

正确的命令是:cc dummy.c -v -Wl,--verbose &>dummy.log

我输入的是:cc dummy.c -v -Wl, --verbose &>dummy.log

这个很小的差异意味着四个小时的头发拉扯。感谢每一个提供帮助的人!

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

https://stackoverflow.com/questions/38416407

复制
相关文章

相似问题

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