Adding a reference to Windows Media Player library using CMake + CSharp support

Adding a reference to Windows Media Player library using CMake + CSharp support

Hi all,

I am trying to use CMake and the CSharp support for a small project of mine but I cannot seem to find a way to add a reference to the Windows Media Player library. One of the reason for that is that I need to link my project to wmp.dll which then needs to generate Interop.WMPLib.dll and a reference needs to be added with its path pointing to the latter library.

Adding wmp.dll to my project is as simple as a target_link_libraries call but this does not seem to trigger the whole generation and add reference sort of process.

Has anyone ever had an experience with adding such libraries? Is there support for these scenarios?

Re: Adding a reference to Windows Media Player library using CMake + CSharp support

Hi all,

I figured I would dig up this question as I found a decent solution to this issue.

After having a look at how Microsoft Visual Studio is doing to include references to external libraries, I came to realise that it is using a tool called TlbImp, which is short for Type Library Importer.

The solution is pretty simple from there: use TlbImp to generate a library that CSharp will be able to import and add it via CMake to the project. My code for Windows Media Player boils down to this:

I am trying to use CMake and the CSharp support for a small project of mine but I cannot seem to find a way to add a reference to the Windows Media Player library. One of the reason for that is that I need to link my project to wmp.dll which then needs to generate Interop.WMPLib.dll and a reference needs to be added with its path pointing to the latter library.

Adding wmp.dll to my project is as simple as a target_link_libraries call but this does not seem to trigger the whole generation and add reference sort of process.

Has anyone ever had an experience with adding such libraries? Is there support for these scenarios?