我很难让LLVM在新项目上工作。我已经尝试了多个来自http://old.nabble.com/CMake-sample-project--td28871124.html的CMakeLists.txt示例,并使用了很多时间。LLVM项目的示例CMakeLists.txt文件
我可以完美地构建LLVM和示例,但我想要一个不在LLVM文件夹内的项目。我使用Visual Studio 2010在Windows 7现在我的设置是这样的:
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
工作正常并创建一个解决方案文件等,但是当我编译该项目时,我得到了很多未解决的外部和不匹配hes来自LLVMX86CodeGen.lib。我也得到这个:
defaultlib'MSVCRT'与使用其他库冲突;使用/ NODEFAULTLIB:库
的问题可能有一些做: - 我删除LLVMSystem
从列表中,因为它没有被发现。 - 我的编译库位于/ lib/Release /和not/lib /中,如示例所示。
任何与上述问题的帮助将是一个很大的帮助! :)
谢谢,我试过包含该代码。但是我找不到LLVMConfig - 如果复制文件或将完整路径写入LLVMConfig,我必须说'.cmake',然后问题是LLVMDips。如果我还修复了该文件的路径,我在main/LLVMConfig.cmake处得到'CMake Error:127(message):Library'jit'在llvm库列表中找不到.'。 –
您不应该复制任何内容,只需运行'cmake -DCMAKE_PREFIX_PATH =/path/to/llvm/share/llvm/cmake .'。嗯,还是CMAKE_MODULE_PATH ...不确定。顺便说一句,最好使用第二个代码片段(它使用find_package())。 – arrowd
我试图设置描述,并在CMakeLists文件中:/我已经尝试了上述,并试图包括路径FindLLVM.cmake和LLVMConfig等。 –