我試圖讓我的作業在GCC和MS VS環境中工作,但由於某些原因,它無法在MS VS中編譯...用於GCC和MS的C程序Visual C++僅適用於GCC
的錯誤是:
警告C4627: '#包括':跳過尋找預編譯頭使用時 - 添加指令 '的Stdafx.h' 或重建預編譯頭
或
意外#ENDIF(#包括後一個文件「StdAfx.h」)
或
當我把「Stdafx.h中」頭第一線,它的行爲像有沒有標準輸入輸出和一切(HANDLE,INT等)都是非法聲明。
#include <stdio.h>
#include <stdlib.h>
#ifdef _MSC_VER
#include "Stdafx.h"
#include <windows.h>
#endif // _MSC_VER
#ifdef __GNUC__
#include <unistd.h>
#endif // __GNUC__
#ifdef _MSC_VER
int main()
{
printf("___MS VS Studio/Express compiler___\n");
/*some stuff here*/
return 0;
}
#endif //_MSC_VER
#ifdef __GNUC__
int main()
{
printf("___GCC compiler___\n");
/*some other stuff here*/
return 0;
}
#endif // __GNUC__
它工作正常,在GCC,我懷疑它是與在MS VS的#ifdef條件#包括,但我不知道怎麼做是正確的..
誰能請糾正我如何使這項工作正常? 歡迎任何有用的建議,謝謝!
請出示你的「的Stdafx.h」文件 –
// stdafx.cpp:只包括標準包括 // project.pch將作爲預編譯頭 // StdAfx.obj的將包含源文件預編譯類型信息 的#include「stdafx.h中」 // TODO:引用您在STDAFX.H 需要//而不是在此文件中的任何附加頭 – need4C