답변:
타겟 또는 프로젝트 설정으로 이동하여 왼쪽 하단의 기어 아이콘을 클릭하고 "사용자 정의 설정 추가"를 선택합니다. 새 설정 이름은이어야하며 GCC_PREPROCESSOR_DEFINITIONS
오른쪽 필드에 정의를 입력 할 수 있습니다.
Steph의 의견에 따라 전체 구문은 다음과 같습니다.
constant_1=VALUE constant_2=VALUE
( 문의 경우) 값을 제공하는 대신 기호를 #define하려는 경우 '=' 가 필요 하지 않습니다.#ifdef
사용자 정의 설정을 만들 필요가 없습니다. 기본 제공 설정 "전 처리기 매크로"는 잘 작동합니다. 대체 텍스트 http://idisk.mac.com/cdespinosa/Public/Picture%204.png
동일한 접두사 파일을 사용하는 여러 대상 또는 프로젝트가있는 경우 대신 미리 컴파일 된 헤더에서 사용되지 않는 전 처리기 매크로를 사용하여 매크로 정의의 차이가 불필요한 추가 미리 컴파일 된 헤더 집합을 트리거하지 않도록합니다.
"GCC 4.2 전처리"아래에 있습니다 (또는 검색 창에 "prepro"를 입력) ...
...하지만, 제 삶을 위해 그것을 작동시킬 수는 없습니다.
표준 디버그 및 릴리스 구성이 있고 디버깅 구성에서 DEBUG = 1을 정의하고 싶습니다. 그러나 값으로 추가 한 후 :
(설정 창에서)> 전 처리기 매크로 : DEBUG = 1
#if DEBUG
printf("DEBUG is set!");
#endif
... 인쇄하거나 호출하지 않습니다. 날 미치게 해 ...
#if DEBUG
삶을 가져 왔습니다 :) stackoverflow.com/a/47395485/2778502
빌드 설정에 표시되지 않는 GCC 전처리 섹션에 대한 Kevin Laity의 의견 (cdespinosa의 답변 참조)에 대한 응답으로 Active SDK를 그 뒤에 (Base SDK)라고 표시하면이 섹션이 표시됩니다. 프로젝트> 활성 대상 설정> XXX (Base SDK) 메뉴를 선택하여이를 수행 할 수 있습니다. XCode (Base SDK)의 다른 버전에서는 (프로젝트 설정 또는 프로젝트 기본값)과 같이 다를 수 있습니다.
이 섹션이 나타나면 사용자 정의 설정을 만드는 대신 프로세서 매크로에 정의를 추가 할 수 있습니다.
Xcode 9.4.1 및 C ++ 프로젝트의 경우. 디버그 및 릴리스 빌드 const char*
모두에 전 처리기 매크로 추가 .