c++linkervisual-studio-2005

How to fix a linker error with PKEY_Device_FriendlyName


Upon using PKEY_Device_FriendlyName, I'm getting the following errors:

Error   1   error LNK2001: unresolved external symbol _PKEY_Device_FriendlyName DefaultAudioDeviceCPP.obj   
Error   2   fatal error LNK1120: 1 unresolved externals C:\Users\srobertson\Documents\Visual Studio 2005\Projects\DefaultAudioDeviceCPP\Debug\DefaultAudioDeviceCPP.exe 

What's a very simple way to clear these errors? I'm including functiondiscovery.h and functiondiscoverykeys.h. Also the path in Project->Properties...->Configuration Properties->C/C++->General->Additional Include Directories is correct.

EDIT: One thing of interest is that the errors are mentioning: _PKEY_Device_FriendlyName, not PKEY_Device_FriendlyName. But I'm only using the latter in my program.


Solution

  • PKEY_Device_FriendlyName resides in uuid.lib library. So you need to add a line to your source code:

    #pragma comment(lib, "uuid.lib")
    

    Most often, you can check with MSDN which library you need to reference.