2009-09-16 66 views
3

我在想,如果有一個應用程序的目標名稱一個Xcode或GCC預處理符號。針對目標名稱的Xcode/GCC預定義宏?

例如,如果我建立所謂的「MonkeyChicken」的應用程序,有沒有預處理器符號,使得

printf(__TARGET_NAME__) 

輸出:

MonkeyChicken 

回答

7

我不相信有任何建-in(GCC不知道,當你編譯一個文件,你正在構建的),但你可以在xcconfig文件中使用GCC_PREPROCESSOR_DEFINITIONS(你using xcconfig,對吧?)這樣的事情應該按照您表示ABOV總是創建一個e:

GCC_PREPROCESSOR_DEFINITIONS = __TARGET_NAME__=\"$(PRODUCT_NAME)\" 
+1

我的天哪我很高興有一個該死的構建面板的替代品。感謝您的回答。 – Justicle 2009-09-16 23:50:00

+0

這應該是一個字符串,例如'__TARGET_NAME __ = \ 「$(PRODUCT_NAME)\」' – par 2014-03-14 19:43:34

+0

@par同意和更新。 – 2014-03-14 20:00:23