我正在尝试构建 LLVM 3.1 和 Clang 3.1。我遵循了Clang 网站上的入门指南——在必要的地方查看存储库,获取 Python 等。
如果我安装了 Python 3.3,它会给出 Python 语义错误from main import main
-,没有调用模块main
。如果我安装了 Python 2.7,它会给
CMake Error at CMakeLists.txt:307 (message):
Unexpected failure executing llvm-build:
Configuring incomplete, errors occurred!
这是最无益的。关于我可以在 Windows 上构建 LLVM 和 Clang 的任何建议,或者至少尝试确定问题所在?
请注意,我正在尝试使用 Visual Studio 2012 进行构建,它由 CMake 正式支持,但在创建 LLVM 3.1 和 Clang 3.1 时并未发布。
编辑:以下是 CMakeLists.txt 中的必要行
message(STATUS "Constructing LLVMBuild project information")
execute_process(
COMMAND ${PYTHON_EXECUTABLE} ${LLVMBUILDTOOL}
--native-target "${LLVM_NATIVE_ARCH}"
--enable-targets "${LLVM_TARGETS_TO_BUILD}"
--enable-optional-components "${LLVMOPTIONALCOMPONENTS}"
--write-library-table ${LLVMCONFIGLIBRARYDEPENDENCIESINC}
--write-cmake-fragment ${LLVMBUILDCMAKEFRAG}
ERROR_VARIABLE LLVMBUILDOUTPUT
ERROR_VARIABLE LLVMBUILDERRORS
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE LLVMBUILDRESULT)
# On Win32, CMake doesn't properly handle piping the default output/error
# streams into the GUI console. So, we explicitly catch and report them.
if( NOT "${LLVMBUILDOUTPUT}" STREQUAL "")
message(STATUS "llvm-build output: ${LLVMBUILDOUTPUT}")
endif()
if( NOT "${LLVMBUILDRESULT}" STREQUAL "0" )
message(FATAL_ERROR
"Unexpected failure executing llvm-build: ${LLVMBUILDERRORS}")
endif()
在这里,您可以看到${LLVMBUILDRESULT}
并不好,但${LLVMBUILDERRORS}
显然应该包含构建错误不包含任何内容。