构建LLVM时的CMake

时间:2019-09-26 11:00:03

标签: cmake llvm

尝试使用CMake构建llvm项目LLVM项目,这给了我自己无法解决的错误。

为此,我正在使用Ubuntu虚拟机(版本18.04),并且尝试使用“ ninja”构建项目。

我尝试使用以下命令(《 LLVM生成器指南》所说的https://llvm.org/docs/GettingStarted.html使用该命令)

OK

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

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

git clone https://github.com/llvm/llvm-project.git
cd llvm-project/
mkdir build && cd build
cmake -DLLVM_ENABLE_PROJECTS='all' -DCMAKE_BUILD_TYPE=Release -G 'Ninja' ../llvm

此库错误:

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)

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,尝试卸载golang编译器(因为我不需要go的llvm支持);无济于事。我不是LLVM专家,所以这可能不是规范的解决方案,但这是我解决的方法:

我替换了

  

-DLLVM_ENABLE_PROJECTS ='全部'

作者

  

-DLLVM_ENABLE_PROJECTS =“ proj1; proj2; proj3”

我在其中通过project is enabled$输出中的cmake greping -- 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 来构建列表“ proj1; proj2; proj3”,并删除了llgo项目。我有一个像这样的列表:

Following is the code:

<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
          xmlns:af="http://xmlns.oracle.com/adf/faces/rich"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:c="http://java.sun.com/jsp/jstl/core"
          xmlns:trh="http://myfaces.apache.org/trinidad/html">   

<af:resource type="javascript" source="/js/libs/slickgrid/scripts/jquery-1.11.2.min.js"></af:resource>    
<af:resource type="javascript" source="/js/libs/slickgrid/scripts/jquery.event.drag-2.3.0.js"></af:resource>

<af:resource type="javascript">

    function addColumns(accNames,movmentRows,jsonString){
          var frameComp = $('[id*="slickFrame"]',document)[0].id;              document.getElementById(frameComp).contentWindow.addColumns(accNames,movmentRows,jsonString);              
        }
    function triggerOnLoad(evt){         
      console.log('onLoad');
      AdfCustomEvent.queue(evt.getSource(), "onLoadEvt",{},false);
      return true;
    }

,然后用一些vim宏/无论您要掌握的内容构建以下列表(注意:其中没有 llgo ):

  

clang; clang-tools-extra; compiler-rt; debuginfo-tests; libclc; libcxx; libcxxabi; libunwind; lld; lldb; openmp; parallel-libs; polly; pstl

然后编译llvm成功\ o /