2013-05-21 831 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 

祝你好運。希望它的作品

相關問題