Here就是我的脚步。到目前为止,一切都很顺利,但是在用新的链接器替换旧的链接器并对specs文件进行更改之后,我在尝试编译dummy.c时得到了以下错误
/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找不到或找不到什么文件?
发布于 2016-07-17 08:26:19
问题是在编译文件时发出的命令中有额外的空间。
正确的命令是:cc dummy.c -v -Wl,--verbose &>dummy.log
我输入的是:cc dummy.c -v -Wl, --verbose &>dummy.log
这个很小的差异意味着四个小时的头发拉扯。感谢每一个提供帮助的人!
https://stackoverflow.com/questions/38416407
复制相似问题