Sto provando a creare uno degli esempi della distribuzione standard, ovvero BrainF, e non ci sono riuscito.Edificio LLVM esempio
Ho creato la mia copia di esempi/BrainF e ho cercato di eseguire cmake da questa directory. Inizialmente CMakeLists.txt assomigliava a questo:
set(LLVM_LINK_COMPONENTS jit bitwriter nativecodegen interpreter)
add_llvm_example(BrainF
BrainF.cpp
BrainFDriver.cpp
)
cmake si lamentava di add_ *. Ho letto attraverso http://llvm.org/docs/CMake.html#embedding e ha deciso di aggiungere un po 'preludio CMakeLists.txt:
find_package(LLVM)
# Define add_llvm_* macro's.
include(AddLLVM)
add_definitions(${LLVM_DEFINITIONS})
include_directories(${LLVM_INCLUDE_DIRS})
link_directories(${LLVM_LIBRARY_DIRS})
Poi CMake sono lamentati del fatto che could't eseguire find_package(LLVM)
e ha suggerito di cercare LLVMConfig.cmake o LLVM-config.cmake. La cosa più vicina trovata in /usr/src/llvm/cmake/modules/LLVM-Config.cmake così ho impostato CMAKE_PREFIX_PATH=/usr/src/llvm/cmake/modules/
e reso il soft link LLVMConfig.cmake a LLVM-Config.cmake.
Quindi cmake si è lamentato in questo modo: "include could non find load file: AddLLVM". Se eseguo l'hardcode dell'intero percorso per includere AddLLVM.cmake, il problema va a includere quelli che esistono all'interno di AddLLVM.cmake in modo che non sembri il modo giusto per eseguire le operazioni.
Il mio ambiente è Xubuntu 12.04 e llvm + clang 3.1 (ottenuto pacchetto deb da qualche ppa, backport da Debian).
'Ho creato la mia copia di esempi/BrainF e sto provando a eseguire cmake da questa directory. Perché l'hai fatto? Se desideri impostare un progetto, che utilizza LLVM, consulta http://llvm.org/docs/CMake.html#embedding-llvm-in-your-project – arrowd
"Perché l'hai fatto? Se desideri creare un progetto "- Cerco solo di creare uno dei loro esempi. E non voglio farlo all'interno delle directory di sistema (dove dovrò usare sudo). L'aggiornamento discusso nella mia risposta al post sottostante proviene esattamente dalla pagina che hai indicato. Semplicemente non ho usato esplicitamente llvm_map_components_to_libraries e lasciato il loro set (LLVM_LINK_COMPONENTS ...) e add_llvm_example (...) che (come suggerisce il testo di errore) usano esplicitamente le_completent_components_to_brary che a loro volta fanno quasi lo stesso, immagino. –