[llvm-dev] r250501 adds dependancy to ole32.dll on MSVC

Aaron Ballman via llvm-dev llvm-dev at lists.llvm.org
Wed Dec 23 08:49:30 PST 2015

On Wed, Dec 23, 2015 at 11:29 AM, Jakob Bornecrantz via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> I'm building on Windows x64 using cmake, Ninja and VS 2013 express on Windows 7.
> So I have been using the LLVMSharp method on getting a usable loadable
> LLVM.dll[1][2].
> This have worked out of the box before so it is a regression, I
> tracked it down to commit r250501.

Oh, interesting, CoTaskMemFree() is from OLE32. That's a typical MSVC
link library, so I'm not certain why that is not included already in
the project. Indeed, every executable target I check has OLE32.dll in
its linker input. Is this an issue with whatever is generating
LLVM.dll for you, or is there a specific target that is missing this
linker input?


> That commit breaks this commit, other users have also run into this
> specific problem[3][4]. I tried looking into the CMakeLists.txt for
> LLVMSupport.lib and add ole32 as a dependency for it, but that didn't
> seem to stick. My cmake-fu is too weak. IIRC windows lib files can
> track library dependencies so that should work.
> I check llvm-config.exe and it does not printout ole32.lib when given
> the --system-libs flag or --ldflags argument.
> Carrying around a hack to add ole32.lib to the discrepancies will work
> for me but that will just mean more users will run into it.
> Any advice on how to proceed is greatly welcome, thanks.
> Cheers, Jakob.
> [1] http://www.llvmsharp.org/
> [2] https://github.com/mjsabby/LLVMSharp/blob/master/GenLLVMDLL.ps1
> [3] http://stackoverflow.com/questions/33685644/missing-cotaskmemfree-when-building-llvm-example-on-windows
> [4] https://groups.google.com/forum/m/#!topic/llvm-dev/Y3DYH0htGW4
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

More information about the llvm-dev mailing list