我应该如何修复 winnt.h 中的非法声明以避免禁用项目的质量检查?



项目构建在尝试在没有启用语言扩展的情况下生成时抱怨匿名结构。有没有办法解决这个问题?

C:Program Files (x86)Windows Kits10Include10.0.15063.0umwinnt.h(12366): error C2467: illegal declaration of anonymous 'struct'

您在这里可以做的最好的事情是将特定于Windows的,实际上,所有特定于操作系统的代码隔离到其自己的代码文件中。这些文件必须包含 Windows 标头并在打开扩展的情况下生成。

所有其他源文件都可以在没有扩展名的情况下进行编译。

这将具有的另一个好处是,如果您想进行Linux或Mac移植,则只需要替换操作系统实现文件即可。

最新更新