同时有.c和.cpp文件的工程会出这个错的,就算不出这个错也会出其它的错,解决方法很简单,把你的.c改名为.cpp,一切都ok了

解决方案 »

  1.   

    首先全部重编译一下工程,如还是不行则试一试将工程设置中C\C++中precompiled header中选中automatic use of precompiled headers,并在相应through header中输入stdafx.h。这通常出现在工程中mfc头文件被修改的情况下.
      

  2.   

    同意yinpc,一般这种情况出现在将.c或.cpp文件直接加入到项目中,只要在.c或.cpp文件的头部加上#include "stdafx.h"即可。
      

  3.   

    在你的*.cpp中开头加上
    #include "Stdafx.h"
    万事大吉
      

  4.   

    我按照你们所说的都试过了,还是不行在.c文件中加#include "stdafx.h"不行.cpp文件早就加了#include "stdafx.h"
    怎么办?
    谢谢!
      

  5.   

    把debug目录下的文件删除,然后从新编译
      

  6.   

    把你的stdafx.h文件放在那些.cpp文件中.h文件的首位,再build一下,建议取消增量编译。
    再不行把代码mail给我,昨天我刚为一个csdn的哥们解决了类似的问题。
      

  7.   


    我现在改变了方法:我新建一个项目将所有的.c文件编译连接成Static-linked library, 生成了一个.lib文件,
    然后我将一个.h文件和.lib文件编译连接到刚才那个工程,它能通过编译,也能连接,但在连接时出现下面的warning:
    LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library请问这是怎么回事?谢谢!
      

  8.   

    在project setting里去掉use default library.try again.
      

  9.   

    选project/settings.../link/ignore all default libraries.
      

  10.   

    你的编译器是不是重新升级过,我前两天也遇到这种情况。
    把DEBUG下的大老爷们全KILL掉,然后重新编译。
      

  11.   

    我没有选Ignore all default libraries, 而是在Ignore Libraries文本筐中输入了libc.lib,就没有出现这个warning,虽然没搞清楚其中的原理,但很多谢大家伙儿们。