llvm-6.0.0失败,发出以下错误,表明我的编译器不支持在实际可能的情况下禁用异常时生成展开表。
Compiler doesn't support generation of unwind tables if exception support
is disabled. Building libunwind DSO with runtime dependency on C++ ABI
library is not supported.
我正在使用Debian 9 apt-get提供的clang-5.0和clang ++ - 5.0,我使用选项-fno-exceptions
-funwind-tables
测试它们并且它们都没有返回任何错误。
谷歌搜索后,我发现[llvm-dev] Failed to configure LLVM for use with Musl 表示使用clang会起作用,但它不在我的机器上。
我正在使用
Linux version 4.9.0-6-amd64 (debian-kernel@lists.debian.org) (gcc version
6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Debian 4.9.82-1+deb9u3
(2018-03-02)
clang version 5.0.1-svn327757-1~exp1~20180325230805.88
(branches/release_50)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
我的cmake选项:
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=clang-5.0 \
-DCMAKE_CXX_COMPILER=clang++-5.0 \
-DCMAKE_C_FLAGS="-O3" \
-DCMAKE_CXX_FLAGS="-O3" \
-DCMAKE_INSTALL_PREFIX=/usr/local/llvm-6.0-2 \
-DLLVM_BUILD_TOOLS=True \
-DLLVM_INCLUDE_TOOLS=True \
-DLLVM_ENABLE_THREADS=True \
-DLLVM_ENABLE_PIC=True \
-DLLVM_ENABLE_CXX1Y=True \
-DLLVM_ENABLE_RTTI=True \
-DLLVM_ENABLE_EH=True \
-DLLVM_ENABLE_LTO=Thin \
-DLIBCXX_INSTALL_LIBRARY=True \
-DLIBCXX_INSTALL_HEADERS=True \
-DLIBCXX_ENABLE_SHARED=True \
-DLIBCXX_ENABLE_ASSERTIONS=False \
-DLIBCXX_ENABLE_EXPERIMENTAL_LIBRARY=True \
-DLIBCXX_INSTALL_EXPERIMENTAL_LIBRARY=True \
-DLIBCXX_ENABLE_FILESYSTEM=True \
-DLIBCXX_CXX_ABI="libcxxabi" \
-DLIBCXX_CXX_ABI_INCLUDE_PATHS=/usr/src/llvm-6.0/llvm-6.0.0/projects/libcxxabi/include \
-DLIBCXXABI_USE_LLVM_UNWINDER=True \
-DLIBCXX_ENABLE_RTTI=True \
-DLIBCXX_INCLUDE_BENCHMARKS=True \
-DLIBCXX_BENCHMARK_NATIVE_STDLIB="libstdc++" \
-G "Unix Makefiles" ../llvm-6.0.0
以前,我已经成功编译了没有compiler-rt,libcxx和libunwind以及编译器选项-O3
。