stdafx.h

VCでプログラムを書くとき引っ付いてくるやつである.
それそのもののありがたみは分かっているのだが,VCで作成したプログラムを他のシステムでコンパイルする場合は邪魔者だ.
今までVCで開発していたシミュレータにCUIフロントエンドを追加しLinux上で実行できるようにしたいのだが,いちいち
#include "stdafx.h"の1行を消すのはめんどいし,別にVCでの開発をやめるわけではないので出来れば両立したい.

最初は以下のようにすればよいと考えた.

#ifdef _WIN32
#include "stdafx.h"
#endif

が,どうもできないようだ.

fatal error C1020: 予期しない #endif です

他のインクルードファイルは可能だったような気がするんだけど.
仕方ないのでgccでのコンパイル用にdummyディレクトリ内に空のstdafx.hを作成し,Makefileにインクルードディレクトリとして追加することに.

INLCUDE = -Idummy/

.cpp.o:         $(CC) -c $(CFLAGS) $(INCLUDE) $<

まぁこれで動けばいいか.