<div dir="ltr"><div><div>Greetings,<br><br></div>As of LLVM 5.0.1, LLVM generates a dependency on diaguids.lib if it finds DIA SDK available.<br><br></div>This is ok, however llvm-config.exe does not expose the path to the library, so it results in these link errors: <br><br><span><span>  LLVMDebugInfoPDB.lib(DIASession.obj) : error LNK2019: unresolved external symbol "long __cdecl NoRegCoCreate(wchar_t const *,struct _GUID const &,struct _GUID const &,void * *)" (?NoRegCoCreate@@YAJPEB_WAEBU_GUID@@1PEAPEAX@Z) referenced in function "publ</span><span>ic: static class llvm::Error __cdecl llvm::pdb::DIASession::createFromExe(class llvm::StringRef,class std::unique_ptr<class llvm::pdb::IPDBSession,struct std::default_delete<class llvm::pdb::IPDBSession> > &)" (?createFromExe@DIASession@pdb@llvm@@SA?AVError@3@VStringRef@3@AEAV?$unique_ptr@VIPDBSession@pdb@llvm@@U?$default_delete@VIPDBSession@pdb@llvm@@@std@@@std@@@Z) [C:\projects\zig-d3l86\build-msvc-release\zig.vcxproj]</span></span><div id="gmail-L2381" title="00:06:43"><span><span>  LLVMDebugInfoPDB.lib(DIASession.obj) : error LNK2019: unresolved external symbol IID_IDiaDataSource referenced in function "public: static class llvm::Error __cdecl llvm::pdb::DIASession::createFromExe(class llvm::StringRef,class std::unique_ptr<class ll</span><span>vm::pdb::IPDBSession,struct std::default_delete<class llvm::pdb::IPDBSession> > &)" (?createFromExe@DIASession@pdb@llvm@@SA?AVError@3@VStringRef@3@AEAV?$unique_ptr@VIPDBSession@pdb@llvm@@U?$default_delete@VIPDBSession@pdb@llvm@@@std@@@std@@@Z) [C:\projects\zig-d3l86\build-msvc-release\zig.vcxproj]</span></span></div><div id="gmail-L2382" title="00:06:43"><span><span>  LLVMDebugInfoPDB.lib(DIASession.obj) : error LNK2019: unresolved external symbol CLSID_DiaSource referenced in function "public: static class llvm::Error __cdecl llvm::pdb::DIASession::createFromExe(class llvm::StringRef,class std::unique_ptr<class llvm:</span><span>:pdb::IPDBSession,struct std::default_delete<class llvm::pdb::IPDBSession> > &)" (?createFromExe@DIASession@pdb@llvm@@SA?AVError@3@VStringRef@3@AEAV?$unique_ptr@VIPDBSession@pdb@llvm@@U?$default_delete@VIPDBSession@pdb@llvm@@@std@@@std@@@Z) [C:\projects\zig-d3l86\build-msvc-release\zig.vcxproj]</span></span></div><div id="gmail-L2383" title="00:06:43"><span><span>  C:\projects\zig-d3l86\build-msvc-release\Release\zig.exe : fatal error LNK1120: 3 unresolved externals [C:\projects\zig-d3l86\build-msvc-release\zig.vcxproj]<br><br><br></span></span></div><div id="gmail-L2383" title="00:06:43"><span><span>I have worked around this downstream like this:<br><a href="https://github.com/zig-lang/zig/commit/1b120d1e49106d0683cc3e6ed766fd8534f798f2">https://github.com/zig-lang/zig/commit/1b120d1e49106d0683cc3e6ed766fd8534f798f2</a><br><br></span></span></div><div id="gmail-L2383" title="00:06:43"><span><span>However as you can see it would be much cleaner if llvm-config.exe would expose this dependency.<br><br></span></span></div><div id="gmail-L2383" title="00:06:43"><span><span>This is LLVM 5.0.1, compiled using MSVC 2015 with -DCMAKE_BUILD_TYPE=Release<br><br></span></span></div><div id="gmail-L2383" title="00:06:43"><span><span>I am not sure if current trunk has this same problem. I will report back when I find out.<br></span></span></div><div id="gmail-L2383" title="00:06:43"><span><span><br></span></span></div><div id="gmail-L2383" title="00:06:43"><span><span>Regards,<br></span></span></div><div id="gmail-L2383" title="00:06:43"><span><span>Andrew<br></span></span></div></div>