windows-runtime - 如何摆脱cppwinrt头文件中过多的参数警告C4002
问题描述
在以下情况下,我收到太多参数警告。我可以将其报告为错误,但 GitHub 中的存储库已关闭,并且 cpp-winrt 项目现在归 Microsoft 所有。
情况 使用 cpp-winrt 项目模板新建一个 windows 运行时组件项目。在项目设置的c++->预处理器部分的“预处理器定义”中添加宏“WINAPI_PARTITION_DESKTOP”。编译项目。
您将收到以下警告:
...\生成的文件\winrt\impl\windows.ui.xaml.media.animation.0.h(4510):警告 C4002:函数式宏调用“GetCurrentTime”的参数过多
与上述消息对应的行是“virtual int32_t __stdcall GetCurrentTime(int64_t*) noexcept = 0;”
可能名称 GetCurrentTime 可能与 Windows 旧 API 名称冲突!
解决方案
GetCurrentTime 是 Windows.h 宏定义和 WinRT 成员之间的已知冲突。一种解决方案是在您的 pch.h 中使用 #undef GetCurrentTime。
推荐阅读
- python - 如何从每个键及其所有单独的值中创建对列表
- python - 将标记放在特定的 x 值上
- apache-kafka-streams - 窗口存储 KSTREAM-FILTER-0000000001 的保留期不得小于其窗口大小加上宽限期
- sequelize.js - Sequelize - 模型定义中的变量“sequelize”
- react-native - 如何从数组中获取组件并在 react native 中更改其道具?
- kubernetes - 有没有办法通过字符串值过滤指标,其中一部分来自普罗米修斯查询中另一个查询的结果?
- cesium - 铯负载gltf不是正确的位置
- html - 如何将类选择器应用于元素?
- jenkins - 我可以访问 Jenkins 管道中的当前阶段 id 吗?
- ruby-on-rails - Rails Active Storage 不显示 @user.banner_image