使用 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
清除这些错误的非常简单的方法是什么?我包括 functiondiscovery.h 和 functiondiscoverykeys.h。 Project->Properties...->Configuration Properties->C/C++->General->Additional Include Directories 中的路径也是正确的。
编辑:一件有趣的事情是错误提到:_PKEY_Device_FriendlyName,而不是 PKEY_Device_FriendlyName。但我只在我的程序中使用后者。
最佳答案
旧帖子,但希望这个答案能节省一些时间。
我在 DEVPKEY 属性方面遇到了同样的问题 - 比如 DEVPKEY_Device_FriendlyName。我有一个非常相似的链接错误。我在这里的评论中偶然发现了答案: Referencing GUIDs
基本上,在定义属性键的 devpkey.h 之类的 include 之前添加 #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.
关于c++ - 如何使用 PKEY_Device_FriendlyName 修复链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9773822/