解决LLVM单元测试中与DIA相关的问题

时间:2019-07-15 07:04:18

标签: visual-studio-2017 llvm

我正在尝试构建LLVM并运行单元测试,但是遇到多个单元测试错误。失败有如下错误

  $ ":" "RUN: at line 1"
  $ "c:\users\xxx\documents\llvm-project\build\release\bin\llvm-pdbutil.exe" "pretty" "C:\Users\xxx\Documents\llvm-project\llvm\test\DebugInfo\PDB\DIA/../Inputs/empty.pdb"
  # command stderr:
  llvm-pdbutil: An unknown error has occurred. HRESULT: 0x800700C1: Calling NoRegCoCreate

我做了一些挖掘工作,显然这与Debug Information Access SDK有关,但是我对此并不了解。

我见过this question,但是对该问题的答案建议设置VSINSTALLDIR环境变量,而我确实正确设置了该变量。

关于如何解决这些错误的任何想法?我想这是我的环境中的东西,但我不知道要寻找什么。

背景信息:我在Windows 7 64位上,使用Visual Studio 2017。

这是我用来生成VS项目的命令

cmake -G "Visual Studio 15 2017" -A x64 -T host=x64 -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi;compiler-rt;lld" -DLLVM_TARGETS_TO_BUILD=X86 -DLLVM_LIT_TOOLS_DIR="C:/Users/xxx/Documents/GnuWin32/bin" -DCMAKE_INSTALL_PREFIX="C:\Users\xxx\Documents\llvm" ../llvm

这是我用来构建的命令

msbuild .\ALL_BUILD.vcxproj -m:1 -p:Configuration=Release -fl2 -flp2:Verbosity=quiet

这是我用来运行测试的命令

msbuild .\check-all.vcxproj -m:1 -p:Configuration=Release -fl4 -flp4:Verbosity=normal

所有命令都是在VS 2017开发人员命令提示符内运行的。

1 个答案:

答案 0 :(得分:0)

解决了这个问题。 VS 2017附带的msdia140.dll版本是32位。使用64位版本可以正常工作。