Tôi đang gặp khó khăn để LLVM hoạt động trên một dự án mới. Tôi đã thử nhiều ví dụ CMakeLists.txt từ http://old.nabble.com/CMake-sample-project--td28871124.html và đã sử dụng rất nhiều thời gian trên đó.Tệp CMakeLists.txt mẫu cho dự án LLVM
Tôi có thể xây dựng LLVM và các ví dụ một cách hoàn hảo nhưng tôi muốn một dự án không nằm trong thư mục LLVM. Tôi sử dụng Visual Studio 2010 trên Windows 7. Ngay bây giờ thiết lập của tôi là thế này:
root
- CMakeLists.txt (1)
main
- CMakeLists.txt (2)
- main.cpp (an exact copy of the Fibonacci example)
(1)
cmake_minimum_required(VERSION 2.6)
project (TestLLVM)
set(LLVM_SRC_DIR "MY FOLDER/llvm-2.9" CACHE PATH "Directory LLVM source (includes) are in")
set(LLVM_BIN_DIR "MY FOLDER/llvm-2.9-install" CACHE PATH "Directory LLVM binaries (libraries) are in")
set (CMAKE_BUILD_TYPE Debug)
add_definitions (-D_DEBUG)
link_directories(${LLVM_BIN_DIR}/lib/Release)
include_directories(${LLVM_SRC_DIR}/include ${LLVM_BIN_DIR}/include)
add_subdirectory (main)
(2)
if(NOT WIN32 OR MSYS OR CYGWIN)
set (PLATFORM_LIBS dl boost_system)
endif()
add_executable (main main.cpp)
target_link_libraries (main
${PLATFORM_LIBS}
LLVMX86Disassembler
LLVMX86AsmParser
LLVMX86AsmPrinter
LLVMX86CodeGen
LLVMSelectionDAG
LLVMAsmPrinter
LLVMMCParser
LLVMX86Info
LLVMJIT
LLVMExecutionEngine
LLVMCodeGen
LLVMScalarOpts
LLVMTransformUtils
LLVMipa
LLVMAnalysis
LLVMTarget
LLVMMC
LLVMCore
LLVMSupport
)
CMake
hoạt động tốt và tạo một tệp giải pháp, v.v. nhưng khi tôi biên dịch dự án, tôi nhận được rất nhiều phần bên ngoài chưa được giải quyết và mismatc hes từ LLVMX86CodeGen.lib. Và tôi cũng nhận được điều này:
defaultlib 'MSVCRT' xung đột với việc sử dụng các lib khác; sử dụng/NODEFAULTLIB: thư viện
Sự cố có thể liên quan đến: - Tôi đã xóa LLVMSystem
khỏi danh sách vì không tìm thấy. - libs đã biên soạn của tôi nằm trong/lib/Release/và không/lib/như là ví dụ hiển thị.
Bất kỳ trợ giúp nào về vấn đề trên sẽ là một trợ giúp tuyệt vời! :)
Cảm ơn, tôi đã thử bao gồm mã đó. Nhưng tôi nhận được LLVMConfig không tìm thấy - nếu sao chép các tập tin hoặc viết đường dẫn đầy đủ đến LLVMConfig tôi phải nói '.cmake' và sau đó vấn đề là LLVMDips. Nếu tôi cũng sửa chữa đường dẫn đến tập tin đó, tôi nhận được 'Lỗi CMake tại chính/LLVMConfig.cmake: 127 (thư): Thư viện 'jit' không tìm thấy trong danh sách thư viện llvm.'. –
Bạn không nên sao chép bất cứ điều gì, chỉ cần chạy 'cmake -DCMAKE_PREFIX_PATH =/path/to/llvm/share/llvm/cmake .'. Hmm, hoặc là nó CMAKE_MODULE_PATH ... không chắc chắn. BTW, tốt hơn là sử dụng đoạn mã thứ hai (sử dụng find_package()). – arrowd
Tôi đã cố gắng thiết lập như mô tả và cũng trong các tập tin CMakeLists:/Tôi đã thử ở trên và cũng đã cố gắng bao gồm đường dẫn đến FindLLVM.cmake và LLVMConfig vv –