我正在做一个小型个人项目,涉及打印有关PE文件的信息。
我读到大多数pe结构已经在winnt.h标头中定义了。

包含winnt.h并编译项目后,出现以下错误:

#error :  "No Target Architecture"


我尝试放置一个定义x86,它可能已经解决了体系结构问题,但还有更多的编译问题。

例如:

1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(363): error C2146: syntax error : missing ';' before identifier 'WCHAR'
1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(363): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(367): error C2143: syntax error : missing ';' before '*'
1>c:\program files (x86)\windows kits\8.0\include\um\winnt.h(367): error C2040: 'PWSTR' : 'CONST' differs in levels of indirection from 'WCHAR *'

最佳答案

如果在命令行中进行编译,请在“项目”选项中选中“编译器”->“启用Microsoft扩展”,或使用-Ze标志。

07-25 20:35