您的位置:首页 > 其它

关于编译器找不到stdafx.h头文件的问题

2013-05-10 17:27 337 查看
用到stdafx这个预编译头文件,一定是在使用MFC的工程中。头文件预编译,就是把一个工程中使用的头文件预先编译,以后该工程编译时,不再编译这部分头文件,仅使用预编译的结果,这样可以加快编译速度,节省时间。一般该stdafx.cpp文件仅包含若干头文件,并没有其他代码。所有的MFC 的.cpp文件第一条语句都是#include“stdafx.h”.

首次编译时,选择 工程-属性-配置属性-C/C++-预编译头文件,在预编译头选项中选择 创建 。编译过一次,已经正确创建预编译头文件之后,该选项选择 使用。之后就可以正常编译了。

当然,不使用预编译头文件也是完全可以的,这时候,除了将所有.cpp 文件中的#include“stdafx.h”.注释掉之外,需要在Solution explore中对所有的.cpp 文件做相应的处理:右击.cpp文件-属性-配置属性-c/c++-预编译头,预编译头中选择不使用预编译头。

以上任何一步缺失都有可能导致stdafx相关的报错。然而除此之外,还有一种比较低级的错误也会导致编译器对此报错。

如果你建立的是一个win32控制台应用程序,而其中的文件却使用了MFC中的函数,同时也是用了预编译头。这时,你不需要重新建立一个MFC工程,再把相应的文件导进去。

选择工程-属性-配置属性-常项,Use of MFC中选择 Use MFC in a Shared DLL 就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: