使用MediaFoundation+EVR预览相机时遇LNK2001未解析符号问题求助
解决MediaFoundation EVR呈现时LNK2001未解析符号问题
针对你遇到的MR_VIDEO_RENDER_SERVICE和IID_IMFVideoDisplayControl未解析外部符号问题,可按以下步骤排查解决:
显式定义INITGUID宏
Windows SDK中,IID、GUID这类符号默认仅做声明,未生成具体定义。需要在包含EVR和MediaFoundation头文件前添加INITGUID宏,让编译器生成这些符号的定义:#define INITGUID #include <evr.h> #include <mfapi.h> #include <mfidl.h> #include <mfreadwrite.h> #include <mferror.h>补充链接uuid.lib库
尽管你已链接mfuuid.lib,但部分场景下uuid.lib才包含通用的UUID符号定义。在现有#pragma comment中添加:#pragma comment(lib, "uuid.lib")检查Windows SDK版本
确保项目使用Windows 10 SDK及以上版本,旧版SDK可能未完整包含EVR相关的符号定义。在项目属性的「常规」选项卡中确认「Windows SDK版本」为较新版本。确认字符集设置
项目需使用Unicode字符集,在项目属性「高级」选项卡中,将「字符集」设置为「使用Unicode字符集」。
完成以上修改后重新编译项目,链接错误应能解决。
内容的提问来源于stack exchange,提问作者World
相关产品推荐
相关产品推荐

