Dlaczego nie mogę #ifdef stdafx.h?

Próbuję dołączyć 2 specyficzne dla platformystdafx.h pliki w moim pliku .cpp, ale kompilator jest niezadowolony, gdy próbuję go #ifdef.

#ifdef _WIN32
#include "stdafx.h"
#elif _MAC
#include "MAC/stdafx.h"
#endif

Możesz się zastanawiać, dlaczego używam stdafx.h w kodzie Maca, ale w tej chwili nie jest to ważne :).

Gdy próbuję skompilować kod w systemie Windows, otrzymuję:Błąd krytyczny C1018. Próbowałem zamknąć inne pliki nagłówkowe #ifdef w tym samym pliku, a kompilator był szczęśliwy. Dlatego wygląda na to, że Windows nie lubi, aby stdafx.h był # ifdef-ed, lub że tylko Windows zezwala#include stdafx.h być pierwszą linią w pliku.

Więc moje pytanie brzmi: dlaczego?

Kat

questionAnswers(2)

yourAnswerToTheQuestion