【问题标题】:LLVM cmake install cannot find DIA SDKLLVM cmake 安装找不到 DIA SDK
【发布时间】:2017-06-11 08:03:04
【问题描述】:

我正在尝试使用 cmake 构建 LLVM 安装,但它给我一个关于 LLVM_ENABLE_DIA_SDK 的错误。我之前设法在没有 PDB 的情况下构建 LLVM,但我正在尝试开始使用 libclang,所以我需要 PDB。 Cmake 给我以下错误:

cmake/config-ix.cmake:482 处的 CMake 错误(消息):
未找到 DIA SDK。如果您同时安装了 VS 2012 和 2013,则可以
需要卸载前者,然后重新安装后者。
调用堆栈(最近的调用优先):
CMakeLists.txt:575(包括)

我安装了 VS 2014(2015 带有更新 3),它确实有一个 DIA 文件夹。谁能告诉我如何将它指向正确的 DIA SDK 位置?

【问题讨论】:

  • 我只需要在 Visual Studio 命令提示符下运行 cmake 即可。我正在使用 Visual Studio 2017

标签: c++ visual-studio-2015 clang llvm libclang


【解决方案1】:

我今天遇到了同样的问题,Kerry Seitz 的回答确实有效。

其实环境变量VSINSTALLDIR不必手动设置——而是打开VS的开发者命令提示符。它将执行一个批处理脚本并正确创建VSINTALLDIR。在该提示符下运行 CMake,然后一切都会好起来的。

【讨论】:

    【解决方案2】:

    看起来 LLVM 的 CMake 文件假定了一个名为 VSINSTALLDIR 的环境变量。

    见:https://github.com/llvm-mirror/llvm/blob/master/cmake/config-ix.cmake#L475

    我不确定设置此环境变量的正确方法,但我为我的用户帐户手动创建了所述环境变量并将其设置为我的 Visual Studio 安装目录的根目录(例如, C:\Program Files (x86)\Microsoft Visual Studio 14.0\)。这解决了我的问题。

    注意:我在变量中包含了一个尾随 \,但我不确定是否有必要。

    【讨论】:

    • 尾随的 \ 确实是强制性的。对我来说,这很有效:设置 VSINSTALLDIR=c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\。此外,不得在路径周围使用“”。其中任何一个都会导致config-ix.cmake 中的set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK") 失败。
    猜你喜欢
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 2014-12-22
    • 2018-03-19
    相关资源
    最近更新 更多