2 개의 플랫폼 관련 stdafx.h 파일을 내 .cpp 파일에 포함하려고 시도하지만 컴파일러가 #ifdef를 시도하면 불행합니다.#ifdef stdafx.h를 사용할 수없는 이유는 무엇입니까?
#ifdef _WIN32
#include "stdafx.h"
#elif _MAC
#include "MAC/stdafx.h"
#endif
왜 Mac 코드에서 stdafx.h를 사용하고 있는지 궁금해 할 수도 있지만 그 때는 중요하지 않습니다. :)
Windows에서 코드를 컴파일하려고하면 다음과 같은 메시지가 나타납니다. 치명적인 오류 C1018. 같은 파일에 다른 헤더 파일을 #ifdef로 묶으려고했지만 컴파일러가 행복했습니다. 따라서 Windows에서 stdafx.h가 # ifdef-ed가 아니거나 Windows에서만 허용하는 것처럼 보입니다. #include stdafx.h 이 파일의 첫 번째 줄로 허용됩니다.
제 질문은 왜입니까? 전원을 끄고 당신이 괜찮을 것 - 당신이 미리 컴파일 된 헤더가 켜져 있기 때문에
캣