2013-05-21 814 views
9

当试图编译LLVM /铛致命错误 - 'cstddef' 找不到文件

../llvm/configure --enable-cxx11=yes --enable-libcpp=yes 
    --enable-optimized=yes --prefix=/usr/local --enable-targets=all 
    --with-gcc-toolchain=/usr/local/bin --enable-bindings=auto 

出现以下错误:

[...]llvm/include/llvm/Support/AlignOf.h:19:10: fatal error: 'cstddef' file not found 
#include <cstddef> 
     ^
1 error generated. 
rm: [...]/llvm_build/lib/Support/Release+Asserts/APFloat.d.tmp: No such file or directory 
make[1]: *** [[...]/llvm_build/lib/Support/Release+Asserts/APFloat.o] Error 1 
make: *** [all] Error 1 

cstddef确实存在(在/usr/local/include/c++/4.8.0/)。将--includedir=/usr/local/include/c++/4.8.0/添加到配置中也无济于事。

这可能是什么原因?

+0

两个备注:恕我直言,正确的选项是'-I ',而不是'--includedir '。另外,至少在我的OSX机器上,'cstddef'在'/ usr/include/C++/...'中,而不在'/ usr/local/include/C++/...'中,但是YMMV。 – Matthias

+0

'--includedir'和其他选项一样,是'./configure --help'中提到的。 'cstddef'在'/ usr/local/...'中,因为我也安装了最近的GCC到那个位置。 – Appleshell

+0

对不起,我想你选择去叮当。你是否检查过叮当的呼叫参数? – Matthias

回答

1

试着用cmake或重新安装的依赖关系建立以下

mkdir build 
cd build/ 
cmake .. \ 
-DCMAKE_BUILD_TYPE=Release \ 
-DLLVM_TARGETS_TO_BUILD="X86_64;JSBackend" \ 
-DLLVM_INCLUDE_EXAMPLES=OFF 

我遇到了类似的错误,并安装必要的gcc-4.8libstdc++-4.8库。至少为我工作。

sudo apt-get install build-essential 

祝你好运。希望它的作品

相关问题