当我尝试使用Clang编译器编译C程序时,收到此消息
/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../../lib/crt1.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../../lib/crti.o' is incompatible with i386 output
/usr/bin/ld: i386:x86-64 architecture of input file `/usr/lib/gcc/i686-linux-gnu/4.6.1/../../../../lib/crtn.o' is incompatible with i386 output
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我该如何解决这个问题?
如果很重要:
$ uname -a
Linux asus 3.0.0-17-generic #30-Ubuntu SMP Thu Mar 8 17:34:21 UTC 2012 i686 i686 i386 GNU/Linux
最佳答案
clang编译器实质上是在说问题源代码正在使用x86-64
处理器扩展(也称为amd64和“ 64位处理器”),但您尝试不{即仅使用i [456] 86也使用(和扩展)的i386架构)。这是32的默认设置位处理器。
您很可能下载了试图编译的软件版本错误(64位与预期的32位)。
关于c - lang链接器和i686,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10175432/