error LNK2001: unresolved external symbol _IID_IVdsServiceLoader
error LNK2001: unresolved external symbol _IID_IVdsAdvancedDisk
error LNK2001: unresolved external symbol _IID_IVdsSwProvider
error LNK2001: unresolved external symbol _IID_IVdsDisk
error LNK2001: unresolved external symbol _IID_IVdsPack
64位下加:
Uuid.lib rpcrt4.lib(有uuid转换函数则需要包含rpcrt4.lib)
在自己的cpp文件中,vds之上要加包含InitGuid.h 原因是initGuid中包含了 "#define INITGUID
#include <guiddef.h>", 而guiddef中定义了IID。
#include <InitGuid.h>
#include <vds.h>
64位下,不加库会提示:
unresolved external symbol IID_IVdsServiceLoader (注意前面没有下划线)
32位下,按以上做了,还是编译报错为:
unresolved external symbol _IID_IVdsServiceLoader (注意前面有下划线,这是由编译器加上的,代码中是没有的)
临时解决方法:将代码中的IID_IVdsServiceLoader 替换为 __uuidof(IVdsServiceLoader)
本文详细解析了在使用VDS库时遇到的LNK2001未解析外部符号错误,提供了在32位和64位环境下解决此类问题的具体步骤,包括添加必要的库文件和头文件,以及如何正确引用UUID和GUID。
4185

被折叠的 条评论
为什么被折叠?



