我移植的iPhone遊戲到Mac和我正在寫有共同定義了一個文件,該文件有以下幾點:移植的C代碼的#ifdef和的#ifndef(C預處理器)
// first reset all defines
#undef TARGET_IPHONE
#undef TARGET_MAC
// set defines
#if TARGET_OS_MAC
#if TARGET_OS_IPHONE
#define TARGET_IPHONE
#else
#define TARGET_MAC
#endif
#endif
#ifdef TARGET_IPHONE
#error err1
#endif
#ifndef TARGET_IPHONE
#error err2
#endif
但是建立時對於iPhone,編譯器會引發err1和err2。
我不明白,那裏有什麼問題?
編輯:經過大約一個小時的嘗試沒有運氣的事情,我不得不將自己的定義添加到xcode構建選項。
只是一個快速代碼可讀性提示:您可以在'#'和指令本身之間放置空格(即'#if ...'),從而實現對正常縮進的合理模擬。 – 2011-03-06 21:34:42
提交錯誤報告。 – 2011-03-07 01:15:05