Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
构建LLVM时的Cmake_Cmake_Llvm - Fatal编程技术网

构建LLVM时的Cmake

构建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构建llvm项目llvm项目,它给了我一个我自己无法解决的错误

为此,我使用了一个Ubuntu虚拟机(版本18.04),并试图用“忍者”来构建这个项目

我试着用以下命令来构建它(LLVMBuilder指南中说要使用这些命令,)

在最后一个命令中,我使用第一个标志下载所有项目,第二个标志是因为我不需要调试工具

最后一个命令针对不同的目标多次出现以下错误:

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