我似乎无法让它发挥作用。我在等于之后配置了--with-gcc-toolchain=
where 我将 gcc 所在的目录 ( /usr/lib/gcc-snapshot/bin
)。
我还查看了“ clang 链接器问题”的答案,但我看不到如何获得接受的答案以找到正确的位置,并且符号链接答案会起作用,除了它正在搜索的所有目录都存在(将文件夹从 gcc-snapshot复制lib
到包含位置之一似乎没有帮助)。
正如另一个问题中所建议的,输出clang++ test.cpp -v
:
bob@bob:~/programming$ clang++ test.cpp -v
clang version 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 静态 -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -target-linker-version 2.22 -momit-leaf-frame-pointer - v -resource-dir /home/bob/programming/build/Release+Asserts/bin/../lib/clang/3.3 -fmodule-cache-path /var/tmp/clang-module-cache -internal-isystem /usr /local/include -internal-isystem /home/bob/programming/build/Release+Asserts/bin/../lib/clang/3.3/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /home/ bob/programming -ferror-limit 19 -fmessage-length 80 -mstackrealign -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -backend-option -vectorize-loops -o /tmp/测试-PWiB4M.o -x c++ test.cpp
clang -cc1 版本 3.3 基于 LLVM 3.3svn 默认目标 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/x86_64-linux-gnu
/usr/include
搜索列表结束。
test.cpp:1:10:致命错误:找不到“iostream”文件
#include ^
1 错误生成。
clang 3.3 版(主干修订版 171350)
编辑:构建文件夹中没有.o
文件。Release+Asserts
这是正常的吗?如果不是,为什么会这样,我该如何修复它(如果我可以将它作为 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