新しいプロジェクトでLLVMを使用するのは難しいです。私はhttp://old.nabble.com/CMake-sample-project--td28871124.htmlから複数のCMakeLists.txtの例を試して、それに多くの時間を費やしました。LLVMプロジェクトのサンプルCMakeLists.txtファイル
私はLLVMとその例を完全に構築できますが、私はLLVMフォルダ内にないプロジェクトが必要です。私は私のセットアップはこれです今のWindows 7上のVisual Studio 2010を使用します(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)
root
- CMakeLists.txt (1)
main
- CMakeLists.txt (2)
- main.cpp (an exact copy of the Fibonacci example)
(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
ソリューションファイルなどを作成しますが、私がプロジェクトをコンパイルすると、未解決の外見やミスマッチがたくさんありますLLVMX86CodeGen.libからのhes。また、私はこれを取得します:
defaultlib 'MSVCRT'は他のライブラリの使用と競合します。使用/ NODEFAULTLIB:ライブラリ
問題がに何か持っていることがあります。 を - それが見つからなかったので、私はリストからLLVMSystem
を削除しました。 - 私のコンパイル済みのlibsは/ lib/Release /にあり、例では/ lib /にはありません。
上記の問題の助けを借りれば、大きな助けになります。 :)
ありがとう、私はそのコードをインクルードしようとしました。しかし、私はLLVMConfigが見つかりません - ファイルをコピーするか、LLVMConfigへの完全なパスを書く場合、私は '.cmake'と言う必要があり、問題はLLVMDipsです。もし私がそのファイルへのパスも修正したら、main/LLVMConfig.cmakeで 'CMake Error:127(message):ライブラリ 'jit'がllvmライブラリのリストに見つかりません。 –
何もコピーしないでください。 'cmake -DCMAKE_PREFIX_PATH =/path/to/llvm/share/llvm/cmake'を実行するだけです。うーん、それともCMAKE_MODULE_PATHだったのかわからない。ところで、2番目のコードスニペット(find_package()を使用)を使用する方が良いです。 – arrowd
私は上記のようにCMakeListsファイルに設定しようとしました:/私は上記を試して、FindLLVM.cmakeやLLVMConfigなどへのパスも含めようとしました。 –