我从Petzold的书“Programming Windows”第5版开始学习winapi。
创建窗口的第一个示例对我来说有点问题。在书上,写的是
#include "windows.h" (only this one)
但是当我使用Visual Studio C ++(在Windows 7 64位下)编译它时,它会抱怨
警告1警告C4627:'#include“Windows.h”':在查找预编译标头时跳过
和
错误2错误C1010:查找预编译标头时意外结束文件。您是否忘记在源代码中添加“#include”StdAfx.h“?
我将其更改为#include "StdAfx.h"
后,工作正常。
那么为什么我不能使用Windows.h
,需要使用StdAfx.h
??
答案 0 :(得分:4)
您已将项目配置为使用precompiled headers。在这种情况下,您将windows.h
放入stdafx.h
,在所有使用PCH的编译单元中包含stdafx.h
,一切都很顺利。或者,在IDE中修改项目设置以不使用预编译标题。
这本书显然没有假设PCH的清晰度和IDE变幻莫测的独立性。如果你开发大量的头文件列表,使用PCH可以加快你的构建时间,但是现在它可能更简单,不使用它。
答案 1 :(得分:-2)
在这种情况下,您想更改使用pch的预编译标头:
现在您的问题已解决