如何解决_WIN32_WINNT未定义
我在使用winternl.h
时遇到了问题,我在那里使用了某些数据类型,并成功地将其编译为x64,没有任何问题。但是,我进行了一些更改,由于某种原因,由于编译失败,由于调试原因,我发现原因似乎完全归结为_WIN32_WINNT
,这导致winternl.h
没有定义任何内容类型。正是这导致了PEB
结构
EXTERN_C PEB* NTAPI RtlGetCurrentPeb(VOID);
现在,我似乎唯一更改的就是删除预编译的标头并创建一个新类。两者都没有_WIN32_WINNT
的定义。我创建了一个全新的项目,复制了导入winternl.h
的类并对其进行了很好的编译。一切都是相同的,导入,包含和库等。我无法理解使它无法定义的操作。我花了很长时间研究这两个项目,却找不到问题的原因。
如果需要,我可以将代码上传到pastebin,但是由于每个项目中的两个类都相同,所以我不认为这应该有所作为。我想我必须弄乱项目设置中的某些内容,但我不知道这可能是什么
解决方法
_WIN32_WINNT
来自包含文件<windows.h>
,因此,为了更正错误,您会看到:
在引发错误的文件中,对此进行更改:
#include <winternl.h>
// ...
对此:
#include <windows.h>
#include <winternl.h>
// ...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。