【问题标题】:How build clang-tools? "make clang-tools" does nothing如何构建clang-tools? “make clang-tools”什么都不做
【发布时间】:2025-12-16 13:00:01
【问题描述】:

我成功签出 llvm (v12) 项目并构建了 llvm+clang 调用:

cmake -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ../llvm
make check-all

此操作后出现空的clang-tools 目录。调用make clang 后,它仍然是空的。当我调用make clang-tools 时,它什么也不做 - 有一个具有此名称的目标,因为没有关于缺少目标的错误信息,但该命令不执行也不打印任何内容。另一方面,当我尝试make clang-tools-extra 时,它抱怨说没有这样的项目,尽管我使用 cmake 对其进行了配置。所以我也无法构建 clang-tools-extra。

我做错了什么?

更新: llvm/clang/tools 中没有 CMakeFiles 目录 - 我认为 - 出乎意料。

【问题讨论】:

    标签: clang llvm


    【解决方案1】:

    ninja helpmake helpxcodebuild -list 或任何其他生成器的输出中查找目标列表。

    项目的外部名称很可能与内部目标名称不同。

    如果你想构建所有东西,只需设置安装前缀:

    cmake -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ../llvm -DCMAKE_INSTALL_PREFIX=../my_install

    然后运行make install

    它会做正确的事。

    【讨论】:

    • 是的,我想当我试图为 clang-tools 调用 cmake 时我搞砸了一些东西,只是希望我不需要所有其他的东西。它破坏了整个构建系统。
    • @ardabro 如果你只是想缩短编译时间,请设置-DLLVM_INCLUDE_TESTS=OFF -DLLVM_TARGETS_TO_BUILD=X86 虽然我没有测试编译时间的减少。在llvm.org/docs/CMake.html查看更多选项