我正在尝试构建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开发人员命令提示符内运行的。
答案 0 :(得分:0)
解决了这个问题。 VS 2017附带的msdia140.dll版本是32位。使用64位版本可以正常工作。