Can';t编译和链接程序时发出叮当声

Can';t编译和链接程序时发出叮当声,c,linker,clang,C,Linker,Clang,我最近在Ubuntu系统上编译了Clang2.9(来自)。我在编译和链接简单程序时遇到问题。有人知道如何解决这个问题吗?以下是我看到的输出: a@ubuntu:~/Desktop$ clang add.c /usr/bin/ld: 1: Syntax error: word unexpected (expecting ")") clang: error: linker command failed with exit code 2 (use -v to see invocation) unam

我最近在Ubuntu系统上编译了Clang2.9(来自)。我在编译和链接简单程序时遇到问题。有人知道如何解决这个问题吗?以下是我看到的输出:

a@ubuntu:~/Desktop$ clang add.c
/usr/bin/ld: 1: Syntax error: word unexpected (expecting ")")
clang: error: linker command failed with exit code 2 (use -v to see invocation)
uname-a输出

Linux ubuntu 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux 
clang version 2.9 (tags/RELEASE_29/final)

Target: i386-pc-linux-gnu

Thread model: posix

"/usr/local/bin/clang" -cc1 -triple i386-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name add.c -mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases -target-cpu pentium4 -target-linker-version 2.21.0.20110327 -momit-leaf-frame-pointer -v -resource-dir /usr/local/bin/../lib/clang/2.9 -ferror-limit 19 -fmessage-length 138 -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-JJruTv.o -x c add.c

clang -cc1 version 2.9 based upon llvm 2.9 hosted on i386-pc-linux-gnu

#include "..." search starts here:

#include <...> search starts here:

 /usr/local/include

 /usr/local/bin/../lib/clang/2.9/include

 /usr/include

End of search list.

 "/usr/bin/ld" --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o a.out crt1.o crti.o crtbegin.o -L -L/../../.. /tmp/cc-JJruTv.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed crtend.o crtn.o

/usr/bin/ld: 1: Syntax error: word unexpected (expecting ")")

clang: error: linker command failed with exit code 2 (use -v to see invocation)
gcc-v输出:

Using built-in specs.

COLLECT_GCC=gcc

COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper

Target: i686-linux-gnu

Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4 --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu

Thread model: posix

gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
铿锵的详细输出

Linux ubuntu 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux 
clang version 2.9 (tags/RELEASE_29/final)

Target: i386-pc-linux-gnu

Thread model: posix

"/usr/local/bin/clang" -cc1 -triple i386-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -main-file-name add.c -mrelocation-model static -mdisable-fp-elim -masm-verbose -mconstructor-aliases -target-cpu pentium4 -target-linker-version 2.21.0.20110327 -momit-leaf-frame-pointer -v -resource-dir /usr/local/bin/../lib/clang/2.9 -ferror-limit 19 -fmessage-length 138 -fgnu-runtime -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/cc-JJruTv.o -x c add.c

clang -cc1 version 2.9 based upon llvm 2.9 hosted on i386-pc-linux-gnu

#include "..." search starts here:

#include <...> search starts here:

 /usr/local/include

 /usr/local/bin/../lib/clang/2.9/include

 /usr/include

End of search list.

 "/usr/bin/ld" --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o a.out crt1.o crti.o crtbegin.o -L -L/../../.. /tmp/cc-JJruTv.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed crtend.o crtn.o

/usr/bin/ld: 1: Syntax error: word unexpected (expecting ")")

clang: error: linker command failed with exit code 2 (use -v to see invocation)
clang 2.9版(标签/发布\u 29/最终版)
目标:i386 pc linux gnu
线程模型:posix
“/usr/local/bin/clang”-cc1-triple i386 pc linux gnu-emit obj-mrelax all-disable free-disable llvm verifier-main file name add.c-mrelocation model static-mdisable fp elim-masm verbose-mconstructor别名-target cpu pentium4-target linker version 2.21.0.20110327-momit叶帧指针-v-resource dir/usr/local/bin//lib/clang/2.9-feror limit 19-fmessage length 138-fgnu runtime-fddiagnostics show选项-fcolor diagnostics-o/tmp/cc JJruTv.o-xc add.c
clang-cc1 2.9版,基于托管在i386 pc linux gnu上的llvm 2.9
#包括“…”搜索从这里开始:
#包括搜索从这里开始:
/usr/本地/包括
/usr/local/bin//lib/clang/2.9/include
/usr/包括
搜索列表结束。
“/usr/bin/ld”--eh frame hdr-m elf_i386-dynamic linker/lib/ld linux.so.2-o a.out crt1.o crti.o crtbegin.o-L-L/..//tmp/cc JJruTv.o-lgcc-as-needed-lgcc-s-no-as-needed-lc-lgcc-as-needed-lgcc-s-no-as-needed-crtend.o crtn.o
/usr/bin/ld:1:语法错误:单词unexpected(应为“)”)
叮当声:错误:链接器命令失败,退出代码为2(使用-v查看调用)

听起来您的链接器脚本有问题。但是上面的ld行不包含特定的链接器脚本,因此应该使用默认的链接器脚本(只需键入
ld-v

-L-L/../../../..
这看起来确实有点奇怪。虽然不知道它是从哪里来的,但在你的原始行中看不到它。也许你的装置坏了


执行一个
gcc-v add.c
并比较调用
/usr/bin/ld
的行。也许可以把它添加到问题中。

谢谢你的帮助。原来
/usr/bin/ld
被另一个文件覆盖了。我不确定这是怎么发生的,但是通过调查
gcc-v add.c
的输出,我能够做出这个决定。最后,我更换了/usr/bin/ld,使一切正常工作。