我正在尝试构buildLLVM 3.1和Clang 3.1。 我遵循Clang网站上的“入门指南” – 在必要的地方检查存储库,获取Python等。
如果我安装了Python 3.3,它会给出一个Python语义错误 – from main import main主导from main import main ,没有模块叫做main 。 如果我有Python 2.7安装,它给
CMake Error at CMakeLists.txt:307 (message): Unexpected failure executing llvm-build: Configuring incomplete,errors occurred!
这是最无助的。 有什么build议我可以在Windows上构buildLLVM和Clang,或至less尝试确定问题是什么?
就像一个笔记一样,我正试图用Visual Studio 2012构build,而CMake正式支持它,但是在创buildLLVM 3.1和Clang 3.1时没有发布。
在Windows上使用铛静态分析器
铿锵 – “无法执行命令:程序不可执行”
将dynamicC运行时与叮当声(Windows)
怪异的内核locking
从sockaddr *投射到sockaddr_in *会增加所需的alignment
编辑:这是从CMakeLists.txt必要的行
message(STATUS "Constructing LLVMBuild project @R_574_4045@ion") 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}显然应该包含构build错误,不包含任何内容。
在Windows上构buildruby和conftest.c
是一个独立的C编译器还是需要gcc?
Clang可以用GCC编译.a库吗?
为什么铿锵声++的performance与铿锵声不同,因为前者是后者的符号链接?
如何为linux内核模块开发configurationclang_complete?
问题有两方面:
首先,LLVM需要Python 2.x. 如果你试图强制它使用3.3,它会失败。 该文档可能应该说一些关于这个(我看不出任何参考),但在这个阶段,项目只是说,例如,“Python”或“Python 2.6+”时,仍然是很常见的他们的意思是“2.6-2.7但不是3.x”。
其次,像大多数配置/构建工具一样,CMake只能检测代码中的依赖性更改,而不是在系统配置中。 所以,如果你试图构建,那么改变你的系统,然后再尝试构建,它不会注意到这个变化,并相应地调整它的配置。 它已经被配置为使用Python 3.3,并没有注意到你用Python 2.7取代了它,所以问题就出在这里。 你必须强制它重新配置 – 你可以通过清除缓存来做到这一点,但最简单和最干净的答案是解压/ git /无论你自己一个干净的目录,并重新开始。 (或者,如果你可以通过许多项目来构建out-of-tree,只需要删除build目录并重新开始。
最后,根据文档,除非你想运行测试,否则你真的不需要Python来编译llvm和clang。 所以,除非文档是错误的(当然这是可能的),如果你刚刚完成了一个没有Python的干净的版本,它会起作用的。 当你尝试使用它的原因是没有工作的原因是它安装2.7后没有工作的原因:你处于部分配置状态,它认为它有Python,因此它坚持使用它。
我用过类似的东西
"c:Program Files (x86)CMakebincmake.exe" -G "Visual Studio 12 2013" -DPYTHON_EXECUTABLE="C:Python27python27.exe" -DLLVM_TARGETS_TO_BUILD="X86" ..llvm-3.5.0.src
它为我工作。 在我的情况下,cmake没有找到python,所以我不得不使用
-DPYTHON_EXECUTABLE="C:Python27python27.exe"
请注意,我没有覆盖我的系统文件夹,然后有相同问题的人应该使用不同的命令的每个文件夹。
显然,这主要是CMake失败,如果我在安装Python 2.7之后清除了缓存,它将会成功
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。