我在VC中引用了我自己的一些文件,由于这些文件有可能需要移植到其他的编译环境下,所以我希望能把他们写成与编译器无关的形式。但是在"stdafx.h"的时候,却发现有问题了:
为了能在其他编译器下不执行#include "stdafx.h",我在前面加上了预编译判断:
#ifdef _MFC_VER
#include "stdafx.h"
#endif
这个写法在其他的编译器上通过,但是在VC下却会在#endif处发生C1020错误: 意外的 #endif。请问这个问题如何解决?不要跟我说关掉“使用预编译头”,这个我当然知道。
我需要的是不更改所有工程设置的情况下的解决方案。谢谢。

解决方案 »

  1.   

    感觉你的要求不可能。stdafx.h是个很特殊的咚咚,不同于一般头文件的。
      

  2.   

    #include "stdafx.h"
     这一句话不能放在任何条件编译语句中的。楼主考虑其他变通的方法吧
      

  3.   

    Err,还有什么变通的办法吗?
    我觉得这已经是最变通的了吧?
      

  4.   

    在VC的WIN32程序中的CPP文件头必须要有#include "stdafx.h" 并且是放在其他头文件的上面,要想在预编译时判断是否编译它,恐怕不好办呀!!