我一直在关注这个问题:如何安装 cling?,针对的是 Ubuntu 12.04。我正在运行 14.04,我不确定这是否是导致我出现问题的根源。
我遵循了所有步骤,并且一切正常,直到:
../llvm/configure --enable-targets=host
输出:
checking for clang... clang
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking for clang++... clang++
checking whether we are using the GNU C++ compiler... yes
checking whether clang++ accepts -g... yes
checking how to run the C preprocessor... clang -E
checking whether clang works... no
configure: error: Selected compiler could not find or parse C++ standard library headers. Rerun with CC=c-compiler CXX=c++-compiler ./configure ...
我已经clang
安装了。我尝试echo $CXX
查看echo $CC
会出现什么,但没有输出。我想我真的不明白这些环境变量是如何工作的。
我该如何安装cling
?
答案1
猜测一下,但是这博客文章说:
由于某种原因,configure 脚本不知道查找
/usr/bin
。g++
自己想想吧。无论如何,要解决这个问题,只需明确设置 C++ 编译器:
$ CXX=/usr/bin/g++ ../llvm/configure
如果它有效,这将非常令人惊讶,因为该configure
脚本确实报告了对 GNU C++ 编译器的检测。
答案2
为了完整性,他们现在提供了 Ubuntu(还有 Fedora 和 OSX)的二进制快照,你可以在这里获取https://root.cern.ch/download/cling//
答案3
除了 muru 的答案之外,请尝试分别针对 C++ 和 C 的 g++ 和 gcc 执行此操作:
CXX=/usr/bin/g++ CC=/usr/bin/gcc ../llvm/configure --enable-targets=host