Một, sở cần công cụ
Visual Studio
- Đề cử phiên bản: Visual Studio 2022. Mặt khác phiên bản cũng nhưng duy trì.
CMake
Ninja
LLVM
- Phiên bản tham khảo:
llvm-project-llvmorg-18.1.8
- Download địa chỉ
- Phiên bản tham khảo:
Nhị, phối trí cùng biên dịch bước đi
Lấy quản lý viên thân phận mở ra mệnh lệnh hành đầu cuối, đưa vào dưới mệnh lệnh tới thiết trí chấp hành sách lược:
Set-ExecutionPolicy Unrestricted
Ấn nhắc nhở đưa vào
Y
Lấy xác nhận.Tiến vào hạng mục mục lục cũng sáng tạo xây dựng mục lục:
cdD:\llvm-project-main\llvm-project-llvmorg-18.1.8\ mkdirbuild cdbuild
Sử dụng CMake sinh thành xây dựng văn kiện cũng bắt đầu biên dịch:
cmake-G"Ninja"-DCMAKE_BUILD_TYPE=Release\ -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi;clang-tools-extra;libunwind;compiler-rt"\ -DLLVM_ENABLE_ASSERTIONS=ON-DCMAKE_CXX_FLAGS="/utf-8"..\llvm\
Tam, thường thấy sai lầm cập giải quyết phương án
Nếu ở chấp hành kể trên mệnh lệnh khi xuất hiện dưới sai lầm:
CMake Error at CMakeLists.txt:139 (MESSAGE):
libcxx
isn’t a known project:bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;lld;lldb;mlir;openmp;polly;pstl;flang
.
Did you mean to enable it as a runtime inLLVM_ENABLE_RUNTIMES
?
Này sai lầm cho thấylibcxx
Bị CMake phân biệt vì không biết hạng mục, có thể là bởi vì LLVM phiên bản biến hóa hoặc CMake lựa chọn thiết trí không lo, yêu cầu thiết tríDLLVM_ENABLE_RUNTIMES= “libcxx;libcxxabi;libunwind;compiler-rt”.
Giải quyết phương án:
Sử dụng chính xác CMake lựa chọn:
Nếu muốn xây dựng LLVM hạng mục, cần sử dụngLLVM_ENABLE_RUNTIMES
Lựa chọn tới bắt đầu dùnglibcxx
Cùnglibcxxabi
,Mà phiLLVM_ENABLE_PROJECTS
.Sửa chữa sau mệnh lệnh như sau:cmake-G"Ninja"-DCMAKE_BUILD_TYPE=Release\ -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi;libunwind;compiler-rt"\ -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra"\ -DLLVM_ENABLE_ASSERTIONS=ON-DCMAKE_CXX_FLAGS="/utf-8"..\llvm\
Kiểm tra LLVM phiên bản cùng CMake kiêm dung tính:
- Bảo đảm CMake phiên bản cùng LLVM phiên bản kiêm dung. Nếu CMake phiên bản quá cũ, khả năng sẽ kích phát một ít CMake policy ( như CMP0114 cùng CMP0116 ) cảnh cáo hoặc sai lầm.
- Có thể nếm thử thăng cấp đến mới nhất phiên bản CMake, cũng tham khảo LLVM hồ sơ bảo đảm sử dụng chính xác xây dựng lựa chọn.
Chữa trị CMake policy cảnh cáo:
- CMake khả năng nhắc nhở nào đó sách lược đã qua khi, tương lai phiên bản đem di trừ cũ hành vi. Ở
CMakeLists.txt
Trung tay động thiết trí này đó sách lược vìNEW
,Hoặc bảo đảm số hiệu đã thích xứng tân hành vi.
Tỷ như, nhưng ở
CMakeLists.txt
Mở đầu gia nhập:cmake_policy(SET CMP0114 NEW) cmake_policy(SET CMP0116 NEW)
- CMake khả năng nhắc nhở nào đó sách lược đã qua khi, tương lai phiên bản đem di trừ cũ hành vi. Ở
Thông qua kể trên điều chỉnh, hẳn là có thể giải quyết phối trí sai lầm, thuận lợi hoàn thành xây dựng.