我尝试使用Visual Studio 2013 for Win64(在Windows 8.1上)编译this sample code。 我包括mfapi.h和mfidl.h。但是,如果找不到标识符,则会出现编译错误,例如:
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE MFEnumDeviceSources
我用谷歌搜索,看到提到这些功能是Windows 7+特定和VS“平台工具集”属性,这是启用它们所必需的 - 但这个属性在VS 2013中似乎不存在。
有什么建议吗?
答案 0 :(得分:0)
您必须使C ++项目成为Win32项目,而不是Store App项目类型。如果查看mfidl.h,有一个编译标志,当它不是桌面应用程序时会禁用所有Media Foundation DEVSOURCE属性,即,当项目类型为Win32而不是Windows 8.1时,WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)才为真。