构建LLVM时的Cmake
试图用CMake构建llvm项目llvm项目,它给了我一个我自己无法解决的错误 为此,我使用了一个Ubuntu虚拟机(版本18.04),并试图用“忍者”来构建这个项目 我试着用以下命令来构建它(LLVMBuilder指南中说要使用这些命令,) 在最后一个命令中,我使用第一个标志下载所有项目,第二个标志是因为我不需要调试工具 最后一个命令针对不同的目标多次出现以下错误:构建LLVM时的Cmake,cmake,llvm,Cmake,Llvm,试图用CMake构建llvm项目llvm项目,它给了我一个我自己无法解决的错误 为此,我使用了一个Ubuntu虚拟机(版本18.04),并试图用“忍者”来构建这个项目 我试着用以下命令来构建它(LLVMBuilder指南中说要使用这些命令,) 在最后一个命令中,我使用第一个标志下载所有项目,第二个标志是因为我不需要调试工具 最后一个命令针对不同的目标多次出现以下错误: CMake Error at /usr/share/cmake-3.10/Modules/ExternalProject.cma
CMake Error at /usr/share/cmake-3.10/Modules/ExternalProject.cmake:2759 (get_property):
get_property could not find TARGET llgo. Perhaps it has not yet been
created.
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/ExternalProject.cmake:3032 (_ep_add_configure_command)
/home/enrique/Escritorio/llvm-project/llgo/CMakeLists.txt:200 (externalproject_add)
/home/enrique/Escritorio/llvm-project/llgo/CMakeLists.txt:219 (add_libgo_variant)
此库错误:
-- LLD version: 10.0.0
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find LibEdit (missing: libedit_INCLUDE_DIRS libedit_LIBRARIES)
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/home/enrique/Escritorio/llvm-project/lldb/cmake/modules/FindLibEdit.cmake:54 (find_package_handle_standard_args)
/home/enrique/Escritorio/llvm-project/lldb/cmake/modules/LLDBConfig.cmake:104 (find_package)
/home/enrique/Escritorio/llvm-project/lldb/CMakeLists.txt:21 (include)
-- Configuring incomplete, errors occurred!
See also "/home/enrique/Escritorio/llvm-project/build/CMakeFiles/CMakeOutput.log".
See also "/home/enrique/Escritorio/llvm-project/build/CMakeFiles/CMakeError.log".
我也有同样的问题,尝试卸载golang编译器(因为我不需要对go的llvm支持);无济于事。我不是LLVM专家,所以这可能不是标准的解决方案,但我是这样解决的: 我换了 -DLLVM_启用_项目='all' 借 -DLLVM_ENABLE_PROJECTS=“proj1;proj2;proj3” 在这里,我通过在
cmake
output中启用项目来创建列表“proj1;proj2;proj3”,并删除了llgo项目。我得到了一个类似于:
-- clang project is enabled
-- clang-tools-extra project is enabled
-- compiler-rt project is enabled
-- debuginfo-tests project is enabled
-- libclc project is enabled
-- libcxx project is enabled
-- libcxxabi project is enabled
-- libunwind project is enabled
-- lld project is enabled
-- lldb project is enabled
-- llgo project is enabled
-- openmp project is enabled
-- parallel-libs project is enabled
-- polly project is enabled
-- pstl project is enabled
然后使用一些vim宏/您掌握的任何东西构建以下列表(注意:此处没有llgo):
叮当声;额外的叮当工具;编译器rt;调试信息测试;libclc;libcxx;libcxxabi;利本温;法学博士;lldb;openmp;并行libs;波利;pstl
然后编译llvm成功\o/OpenCL(OpenCL标记的含义)与问题的关系如何?指南没有描述
all
是llvm\u ENABLE\u项目
变量的可能值。虽然这个值实际上是允许的,但它可能需要设置一些其他选项。我使用opencl标记是因为我使用这个工具编译opencl代码,我忘了说我还试图用LLVM安装SPIR-V。另外,我已经删除了第一个标志,在从他们的页面重新安装cmake和llvm项目后,它成功了。如果问题在于构建工具,则无需标记该工具的进一步使用,除非在构建工具本身时使用了特定于此使用的选项。在您的问题(problem)中,我没有看到构建llvm的opencl特定选项,因此不需要使用opencl
标记。我把它拿走了。
-- clang project is enabled
-- clang-tools-extra project is enabled
-- compiler-rt project is enabled
-- debuginfo-tests project is enabled
-- libclc project is enabled
-- libcxx project is enabled
-- libcxxabi project is enabled
-- libunwind project is enabled
-- lld project is enabled
-- lldb project is enabled
-- llgo project is enabled
-- openmp project is enabled
-- parallel-libs project is enabled
-- polly project is enabled
-- pstl project is enabled