关于编译器找不到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 就可以了。
首次编译时,选择 工程-属性-配置属性-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 就可以了。
相关文章推荐
- 关于#include "stdafx.h"以及预编译头文件的问题
- 关于#include "stdafx.h"以及预编译头文件的问题
- 关于找不到stdafx.h头文件问题(pass)
- 关于google protobuf编译找不到不到google\protobuf\stubs\common.h头文件的问题
- 关于Matlab找不到vs2008或vs2005编译器的解决办法
- 关于django 工程创建找不到 django-admin.py 文件问题
- 关于百度地图找不到jin文件的问题及解决办法
- Ubuntu 10.04下安装OpenCV及编译一个简单例程(找不到头文件的问题:error: cv.h: No such file or directory )
- 关于FormView在编辑模板下找不到控件的问题
- Android关于app加载so文件找不到问题
- Dubbo搭建:关于pom中无法找到jms等错误,找不到运行主类main()等的问题:
- 关于ios用越狱机真机调试找不到设备的问题
- 关于matlab的编译问题--出现找不到指定模块C:MATLAB7\bin\win32\atlas_Athlon.dll
- 关于include标签导致js路径找不到的问题
- 关于在eclipse中使用Spring+JUnit时,JUnit找不到测试类的问题
- 关于驱动忽然找不到的问题
- 关于PHP打开之后找不到数据库问题的记录
- 关于找不到印社属性的问题的解决
- 关于头包含头文件的问题
- 关于安转android studio 在选择JDK找不到路径的问题