我需要在一个vc项目中添加一些比较旧的c代码,有好几个文件。
把它们添加进工程之后,编译通不过,每个c文件都有如下错误
fatal error C1010: unexpected end of file while looking for precompiled header directive
于是我在每个c文件的最顶端都加上了
#include "stdafx.h"
然后重新编译,结果出现了一堆错误,但是那些c代码如果作为单独的项目在vc中是可以编译并生成dos程序的
请问如何解决???
谢谢!

解决方案 »

  1.   

    结果出现了一堆错误,这个说的太模糊了吧,很难猜啊
    那些c代码如果作为单独的项目在vc中是可以编译并生成dos程序的,VC 编译最多生成控制台程序,不能生成dos程序的。
      

  2.   

    不要填加到工程里,直接引用.c文件就可以了
    #include "my.c"
      

  3.   

    在project setting中c/c++标签中的Precompiled header选not use precompiled header
      

  4.   

    很简单,在每个报错的文件头部加上#include "StdAfx.h"按照楼上的做法也行,不过每次就不能充分利用precompiled header来节省每次编译的时间了
      

  5.   

    必须按照JedyWoody的说法去做,否则没有办法通过。因为默认使用的为C++编译的预编译头,而你加入的.c文件必须使用专门为C编译的预编译头才行。但是你的工程里面同时存在了两种文件,所以只能选择不使用预编译头了。如果还想要使用预编译头的话,就只能为你的.c文件创建header,并且单独编译为lib然后在你的cpp的工程里面链接上这个lib,这样就可以跳过这个预编译头的问题了