1.在空工程中加入opencv中blobtrack.cpp编译遇到的错误
fatal error C1010: unexpected end of file while looking for precompiled header directive
Error executing cl.exe.
blobtrack.obj - 1 error(s), 0 warning(s)
预编译头文件(precompiled header)
解决方法:
1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定。
2、在文件开头添加:
#include "stdafx.h"
对预编译头文件说明如下:
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。
编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。
------------------------------------
unexpected end of file while looking for precompiled header directive Error executing cl.exe.我在文件头上添加了:
#include "stdafx.h" 还是不能运行,请多指教!
Alt+F7进入当前工程的Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定。
如果发生错误的文件原本是该工程中的,则检查该文件头部有没有#i nclude "stdafx.h"语句,没有的话添加。
如果还不行,也有可能是定义的类或结构体等最后忘了加分号,注意一下
------------------------------------------
问题:我在编译程序中老出现“fatal error C1010: unexpected end of file while looking for precompiled header directive”这一句,但我查看了程序并没有错,请问这是怎么一回事?
A回答:
肯定是一个新添加的类的.cpp文件开头没包含stdafx.h,在该文件最前面加上即可。
BOBO的意见:
有时可以使用右键点击项目工程中的该cpp文件,选择setting,在c/c++栏,选择PreCompiled headers,然后设置第一选项,选择不使用预编译头,解决这个问题。
---------------------------------------
编译出现问题:unexpected end of file while looking for precompiled header directive
解决方案:
需要在文件头上添加一句:
#include "stdafx.h"
这个文件定义了源程序为C++格式。
否则文件需要保存为.C格式
--------------------------------
错误:fatal error C1083: Cannot open precompiled header file: 'Debug\test4.pch': No such file or directory
解决方案:
或rebuild all,或重新编译一下stdafx.cpp就OK了,呵呵,又长知识了。
--------------------
代码。
----------------总结------
如果工程很大,头文件很多,而有几个头文件又是经常要用的,那么
1。把这些头文件全部写到一个头文件里面去,比如写到preh.h
2。写一个preh.c,里面只一句话:#include "preh.h"
3。对于preh.c,在project setting里面设置creat precompiled headers,对于其他.c文件,设置use precompiled header file
//