在VC中,我自己写了一个类,有.h和.cpp文件。我编译一下,它说:
fatal error C1010: unexpected end of file while looking for precompiled header directive
我把#include "stdafx.h"加在.cpp文件里,结果它又说:
error C2011: 'xxx' : 'class' type redefinition
xxx表示有一大堆这样的错误,都是类名!
是在ATL的服务工程中,怎么解决这个问题啊,请各位帮忙了。

解决方案 »

  1.   

    那,你工程设置里,选择 C\C++选项卡->下拉框选择Precompiled Header->Not using precompiled header 然后确定。现在可以删除stdafx.h的包含。你试试看,行不?
      

  2.   

    项目属性 -> C/C++ -> 预编译头 -> 创建使用预编译头 改为"自动生成"
      

  3.   

    历经博杀,终于找到了问题所在。这也是为什么要强调.h头文件和.cpp实现文件要合理分离的原因!因为VC6的ATL服务工程默认以StdAfx.h作为头文件,而编译器开关默认又是使用/Yu,所以分引起多次定义的问题,哈哈:D