当试图编译llvm/clang时
../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
Run Code Online (Sandbox Code Playgroud)
发生以下错误:
[...]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
Run Code Online (Sandbox Code Playgroud)
但cstddef确实存在(in /usr/local/include/c++/4.8.0/).添加--includedir=/usr/local/include/c++/4.8.0/到配置也没有帮助.
这可能是什么原因?
小智 9
$ sudo apt install libstdc++-12-dev
Run Code Online (Sandbox Code Playgroud)
它解决了我在 ubuntu 22.04 中的问题。请参阅 https://community.intel.com/t5/Intel-oneAPI-Base-Toolkit/On-upgrading-to-Ubuntu-22-0-4-the-standard-libraries-are-no/td-p/1455303。
您可以通过搜索https://www.debian.org/distrib/packages#search_packages找到不同版本的 libstdc++ ,例如amd64 架构的结果页面。
尝试使用cmake下面的依赖项进行构建或重新安装
mkdir build
cd build/
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_TARGETS_TO_BUILD="X86_64;JSBackend" \
-DLLVM_INCLUDE_EXAMPLES=OFF
Run Code Online (Sandbox Code Playgroud)
我遇到了类似的错误并安装了必需的gcc-4.8和libstdc++-4.8库。至少为我工作过。
sudo apt-get install build-essential
Run Code Online (Sandbox Code Playgroud)
祝你好运。希望它有效
| 归档时间: |
|
| 查看次数: |
12638 次 |
| 最近记录: |