精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
服务方向
联系方式
锐英源精品原创,禁止转载和任何形式的非法内容使用,违者必究
VC的项目文件管理机制管理了头文件和源文件,有些代码文件需要mfc的库,就需要包含stdafx.h,有的不需要,可以不包含,在文件属性的是否需要编译头文件位置选择否,就不包含stdafx.h,也就不会出现标题错误:
C1010 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h"”
前几天,我遇到这样的错误,按这个方式处理,选择了不少十次,还是不行,总是解决不了,这时候就用到了终极大法了,大家看好了!
VC的项目文件也是文本文件,我就文本工具,打开vcxproj文件,发现对应的源文件没在项目管理范围内,不在范围内,就不能确定是否使用stdafx.h,就会一直报错了,下面是项目管理的示范:
<ClCompile Include="algo\calculus.cc">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
<ClCompile Include="algo\encoder.cc">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
可以看到encoder.cc只出现在了Release版本的文件集里,没有出现在Debug文件集里,不被管理,当然不行。这时候呢,从界面上看encoder.cc是在项目里,可能是Debug和Release版本切换导致了管理不正常吧。
编程必须要多掌握些基础,才好解决问题。