如何使用PKEY_Device_FriendlyName修复链接器错误

Pan*_*sis 2 c++ linker visual-studio-2005

使用PKEY_Device_FriendlyName时,出现以下错误:

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 
Run Code Online (Sandbox Code Playgroud)

清除这些错误的最简单方法是什么?我包括functiondiscovery.h和functiondiscoverykeys.h。此外,“项目”->“属性...”->“配置属性”->“ C / C ++”->“常规”->“附加包含目录”中的路径也是正确的。

编辑:有趣的一件事是该错误提到:_PKEY_Device_FriendlyName,而不是PKEY_Device_FriendlyName。但是我只在程序中使用后者。

GTA*_*E86 5

旧帖子,但希望此答案可以节省一些时间。

我在DEVPKEY属性上遇到了同样的问题-例如DEVPKEY_Device_FriendlyName。我有一个非常相似的链接错误。我在这里的评论中偶然发现了答案: 引用GUID

基本上,在诸如devpkey.h之类的定义属性键的内容的包含之前添加#include。

因此,在我的文件的顶部,我有:

#include <setupapi.h>  
#include <initguid.h>  // Put this in to get rid of linker errors.  
#include <devpkey.h>  // Property keys defined here are now defined inline.   
Run Code Online (Sandbox Code Playgroud)