以前的项目都是在xp(x86)上面编译的,vs2005+dshow9.0
现在要把项目升级到win7(x64)上面,用vs2005+最新的Windows SDK(里面包含最新的dshow),下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=8442
(假如安装过程中,总是不成功,去控制面板 删除vs2010插件)
在新系统中编译原来的项目,总是报错:
CTSOVERIP.obj : error LNK2019: unresolved external symbol _IID_IMPEG2PIDMap referenced in function "public: int __thiscall CTSOVERIP::Connect(void)" (?Connect@CTSOVERIP@@QAEHXZ)1>Release8\VTTSOverIP.exe : fatal error LNK1120: 1 unresolved externals
错误截图:
解决办法:
在函数Connect函数外面加一行:
EXTERN_C const IID IID_IMPEG2PIDMap = __uuidof(IMPEG2PIDMap);
截图:
问题就解决了!