我似乎无法让这起作用。我使用--with-gcc-toolchain=
进行了配置,在equals之后,我将gcc所在的目录(/usr/lib/gcc-Snapshot/bin
)放入其中。
我还研究了“clang linker problem”的答案,但我不知道如何才能得到可接受的答案以找到正确的位置,并且symlink答案本来可以工作,除非它正在搜索的所有目录都存在(将lib
文件夹从gcc-snapshot复制到其中一个include位置似乎没有帮助)。
正如在另一个问题中所建议的,clang++test.cpp-v
:
bob@bob:~/programming$clang++test.cpp-V
clang版本3.3(trunk 171350)
目标:x86_64-unknown-linux-gnu
线程模型:POSIX
“/home/bob/programming/build/release+asserts/bin/clang”-cc1-triple x86_64-unknown-linux-gnu-emit-obj-mrelax-all-disable-free-main-file-name test.cpp-mrelocation-model statist-mdisable-fp-elim-fmath-errno-masm-verbose-mconstructor-aliases-munwind-tables-target-cpu x86-64-target-linker-version 2.22--o/tmp/test-pwib4m.o-x C++test.cpp
clang-cc1基于LLVM 3.3 svn默认目标x86_64-unknown-linux-gnu
忽略不存在的目录“/include”
#include“。。。”搜索从此处开始:
#include<...>;搜索从此处开始:
/usr/local/include
/home/bob/programming/build/release+asserts/bin/../lib/clang/3.3/include
/usr/include
搜索列表末尾。
test.cpp:1:10:致命错误:找不到“iostream”文件
#include^
1生成错误。
clang版本3.3(trunk修订版171350)
编辑:Release+Asserts
文件夹中没有用于生成的.o
文件。这正常吗?如果不是,为什么会出现这种情况,以及我如何修复它(如果我可以将它指向Clang的stdlib,那么它也是可行的)。
编辑2:它也无法编译int main(){return 0;}
,因为它找不到crtbegin.o
。完整输出如下:
/usr/bin/ld:找不到crtbegin.o:没有这样的文件或目录
/usr/bin/ld:找不到-lgcc
/usr/bin/ld:找不到-lgcc_s
CLANG:错误:链接器命令失败,退出代码为1(使用-v查看调用)
-v
后的结果与上述相同,但结尾错误不同。
config.log:
可以在此处找到完整文件,但第一行(非注释)是:$../llvm/configure--with-gcc-toolchain=/usr/lib/gcc-snapshot/gcc
我们发现的问题是gcc安装时带有--prefix=/usr/lib/gcc-Snapshot配置参数。llvm是用--with-gcc-toolchain=/usr/lib/gcc-snapshot/gcc参数配置的。它应该与gcc安装前缀相同,即--with-gcc-toolchain=/usr/lib/gcc-snapshot。
该问题当前的第一行是“I configured with The--with-gcc-toolchain=where after equals I put The directory where gcc(/usr/lib/gcc-Snapshot/bin)”,当前的最后一行是“first(non-comment)行是:$../llvm/configure--with-gcc-toolchain=/usr/lib/gcc-Snapshot/gcc”
这令人费解,您可能认为您已经将标志--with-gcc-toolchain=/usr/lib/gcc-snapshot/bin放入,但实际上您已经将标志--with-gcc-toolchain=/usr/lib/gcc-snapshot/gcc放入
无论如何,我认为您应该尝试以下方法。
问题似乎是您没有正确指定gcc-toolchain前缀。它应该与配置GCC时使用的--prefix参数相同。
在这里报告结果。
另请参见Clang 3.2 build breaks after building gcc 4.7