编译过程中遇到的问题
我用VC6的App Wizard建立了一个Win32 Application,“Hello The World”,
然后我在这个工程的目录下面建立了两个文件file1.h 和 file1.cpp,并分别加入到
这个工程的Workspace当中的两个文件夹Header Files和Source Files当中.
file1.h和file1.cpp都是空的,但在file1.cpp里有一句" #include "file1.h",然后
再在工程的文件里加入了#include "file1.h",但是一编译出现错误:
c:\my project\test3\file1.cpp(10) : fatal error C1010: unexpected end of file while looking for precompiled header directive
Generating Code...
Error executing cl.exe.
我是新手不明白是怎么回事,是不是新加入工程的一对file1.h和file1.cpp还要先编译吗?
是的话怎么做?
请尽量说的详细点,最好能告诉我一下原理,谢谢了!
问题点数:20、回复次数:2Top
1 楼Leon8086(故乡的云·漂浮在人生十字路口)回复于 2003-02-03 12:08:58 得分 20
预编译头文件的问题。
将stdafx.h这个文件include到你所有的cpp文件里面。
预编译头文件是编译器优化的一个部分,你可以选project菜单下的setting菜单。选C++那个卡片。在category里面选择precomiled headers进行设置。Top
2 楼xsx7677226(多伦多)回复于 2003-02-03 18:47:06 得分 0
to leon8086,谢谢,你说得很对.我在file1.cpp里加入了stdafx.h问题就解决了,或者在project/setting里的C++选项卡里的procompiled headers设成
Not using precompiled header或者Automatic use of precompiled headers都能解决。
但是还有一个选项我不明白,use precompiled header file(.pch) through header: stdafx.h
为什么要说 through header: stdafx.h呀? 如果选这个的话就必须在file1.cpp里加入stdafx.h, 这是为什么呢?
再一次谢谢你的慷慨帮助!
Top




