在以下情况下,我收到了太多的警告警告。我可以将其报告为一个错误,但是GitHub中的存储库已关闭,并且cpp-winrt项目现在归Microsoft所有。
情况 使用cpp-winrt项目模板创建一个新的Windows运行时组件项目。 在项目设置的c ++->预处理器部分的“预处理器定义”中添加宏“ WINAPI_PARTITION_DESKTOP”。 编译项目。
您将收到以下警告:
…\生成的文件\ winrt \ impl \ windows.ui.xaml.media.animation.0.h(4510):警告C4002:类似于函数的宏调用“ GetCurrentTime”的参数过多
与以上消息相对应的行是“虚拟int32_t __stdcall GetCurrentTime(int64_t *)noexcept = 0;”
名称GetCurrentTime可能与Windows旧版API名称冲突!
答案 0 :(得分:0)
GetCurrentTime是Windows.h宏定义与WinRT成员之间的已知冲突。一种解决方案是在您的pch.h中#undef GetCurrentTime。