使用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。但我只是在我的程序中使用后者。
答案 0 :(得分:5)
旧帖子,但希望这个答案可以节省一些时间。
我遇到了与DEVPKEY属性相同的问题 - 比如DEVPKEY_Device_FriendlyName。我有一个非常相似的链接错误。我在这里的评论中偶然发现了答案: Referencing GUIDs
基本上,在包括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.
答案 1 :(得分:1)
#include <functiondiscoverykeys.h>
答案 2 :(得分:0)
PKEY_Device_FriendlyName
位于uuid.lib
库中。因此,您需要在源代码中添加一行:
#pragma comment(lib, "uuid.lib")
通常,您可以向MSDN查询需要引用的库。