Mam trudności z uruchomieniem LLVM nad nowym projektem. Próbowałem wielu przykładów CMakeLists.txt z http://old.nabble.com/CMake-sample-project--td28871124.html i użyłem dużo czasu na to.Przykładowy plik CMakeLists.txt dla projektu LLVM
Mogę zbudować LLVM i przykłady doskonale, ale chcę projektu, który nie jest w folderze LLVM. Używam Visual Studio 2010 na Windows 7. Teraz moja konfiguracja jest taka:
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
działa poprawnie i tworzy plik rozwiązania itp., ale kiedy skompiluję projekt, otrzymuję wiele nierozwiązanych zewnętrznych i mismatc z pliku LLVMX86CodeGen.lib. Dostaję również:
defaultlib "MSVCRT" powoduje konflikty z użyciem innych bibliotek; Zastosowanie/NODEFAULTLIB: biblioteka
Problem może mieć coś wspólnego z: - usunąłem LLVMSystem
z listy, ponieważ nie został znaleziony. - Moje skompilowane biblioteki znajdują się w/lib/Release/i nie/lib /, jak pokazują przykłady.
Każda pomoc w powyższym problemie byłaby bardzo pomocna! :)
Dzięki, próbowałem dołączyć ten kod. Ale nie znaleziono LLVMConfig - jeśli skopiuję plik lub zapisuję pełną ścieżkę do LLVMConfig, muszę powiedzieć '.cmake', a następnie problem to LLVMDips. Jeśli również naprawię ścieżkę do tego pliku, otrzymam komunikat "CMake Error at main/LLVMConfig.cmake: 127 (message): biblioteka 'jit' nie została znaleziona na liście bibliotek llvm." –
Nie powinieneś kopiować niczego, po prostu uruchom 'cmake -DCMAKE_PREFIX_PATH =/path/to/llvm/share/llvm/cmake.". Hmm, czy to było CMAKE_MODULE_PATH ... nie jestem pewien. BTW, lepiej użyć drugiego fragmentu kodu (który używa find_package()). – arrowd
Próbowałem ustawić zgodnie z opisem, a także w plikach CMakeLists:/Próbowałem powyższe, a także próbował włączyć ścieżkę do FindLLVM.cmake i LLVMConfig itp. –