Ubuntu環境下LLVM 15.0 完全編譯 附windows編譯LLVM master


1. 預先安裝

sudo apt install ninja-build
sudo apt install llvm clang  # 第一次編譯需要
sudo apt install doxygen
sudo apt install libncurses5
sudo apt install gcc-multilib
sudo apt install ccache
# maybe need: MPFR 

2. 編譯

注釋掉所有其他添加的庫路徑:anaconda,自編譯的庫。

#git clone git@github.com:llvm/llvm-project.git
CC=clang CXX=clang++ cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libclc;lld;lldb;mlir;polly;pstl" -DLLVM_ENABLE_RUNTIMES="all" -DLLVM_CCACHE_BUILD=ON -DLLVM_INSTALL_UTILS=ON -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF -DLLVM_ENABLE_DOXYGEN=ON -DLLVM_OPTIMIZED_TABLEGEN=ON  ../llvm

# cmake --build . --config Release --target install --parallel
ninja -j12 && sudo ninja install

如果gcc版本過低,並且沒有管理員權限,使用自己安裝的gcc之后,使用如下命令啟用個人HOME目錄下的gcc。並且添加-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=True

cmake -DCMAKE_CXX_COMPILER=~/opt/bin/g++ -DCMAKE_C_COMPILER=~/opt/bin/gcc  -DCMAKE_BUILD_TYPE=Release  -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libclc;lld;lldb;mlir;polly;pstl" -DLLVM_ENABLE_RUNTIMES="all" -DLLVM_INSTALL_UTILS=ON -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF -DLLVM_ENABLE_DOXYGEN=ON -DLLVM_OPTIMIZED_TABLEGEN=ON -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=True -DCMAKE_INSTALL_PREFIX=~/opt  ../llvm

3. build llvm for windows 10

git clone https://github.com/llvm/llvm-project.git
cd llvm-project
mkdir build
cd build

cmake -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;compiler-rt;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;polly;pstl" -G "Visual Studio 16 2019" -A x64 -Thost=x64 ../llvm
# cmake -S llvm -B build -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86;WebAssembly"  -DLLVM_TARGET_ARCH="x86_64" -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_BUILD_EXAMPLES=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_BUILD_TESTS=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_USE_OPROFILE=ON -DLLVM_USE_INTEL_JITEVENTS=ON -DLLVM_ENABLE_ASSERTIONS=OFF -DLLVM_ENABLE_IDE=ON -DLLVM_USE_OPROFILE=OFF

refs


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM