Unresolved external symbols in C++ project
这是我的情况(我对C++ MFC编码非常新,我正在调试一个现有的应用程序项目)
我在代码中使用此行(在Visual Studio 2012 MFC项目中)
CoCreateInstance(CLSID_PortableDeviceValues, NULL,
CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&x));
当我运行项目时,我得到一个这样的链接器错误
error LNK2001: unresolved external symbol _CLSID_PortableDeviceValues
我在代码中引用的所有clsid值都会发生这种情况。这样地
error LNK2001: unresolved external symbol
_CLSID_PortableDeviceKeyCollectionerror LNK2001: unresolved external symbol _IID_IPortableDeviceEventCallback
error LNK2001: unresolved external symbol _CLSID_PortableDeviceManager
error LNK2001: unresolved external symbol _CLSID_PortableDeviceServiceFTM
我检查了"clsid_portabledevicevalues"的声明,它在"portabledevicetypes.h"中找到,我也导入了该库。
我没有得到任何编译器错误,但会遇到上面提到的链接器错误。
有人能帮我一下吗?我解决不了这个问题。
您需要将portabledeviceguids.lib添加到项目中。(有关iportabledevicevalues,请参阅msdn文档中的"要求"一节)
当链接器构建您的项目时,它将查找标识符
源代码中包含的头文件只声明符号"clsid_portabledevicevalues",而不导入其实现。