2011-04-05 4 views
5

내가 엑스 코드 4를 사용하고, 내 프로젝트 빌드 설정에 대한 처리기 매크로를 정의하는, 내가 설정 한 :엑스 코드는 - 조건부 컴파일

Preprocessor macros 
    Debug DEBUG;FULL 
    Release FULL 

과 같은 프로젝트의 또 다른 목표에 :

Preprocessor macros 
    Debug DEBUG;LITE 
    Release LITE 

명백하게 만들어진 plist 정보 파일을 제외하고 두 대상이 정확히 동일한 파일을 사용하고 있습니다.

그런 다음 나중에 내 코드에서, 나는 썼다 :

#ifdef FULL 
    // ###### FULL VERSION 
    NSLog(@"test"); 
    // ###### 
#endif 

그러나 로그가 기록되지 않습니다.

내가 뭘 잘못하고 있니? FULL 문에 값을 설정하고 싶지 않습니다.

답변

12

여러 전 처리기 매크로는 세미콜론이 아닌 공백으로 구분됩니다. 따라서 다음과 같아야합니다.

세미콜론을 사용하면 "DEBUG; FULL"이라는 단일 매크로를 정의 할 수 있습니다. 그리고 귀하의 #ifdef과 일치하지 않습니다.

관련 문제