18

どうして:

 #ifdef SOME_TARGET_FLAG     
      <some code here>
    #elseifdef SOME_ANOTHER_TARGET_FLAG
      <some another code here>
    #endif

「無効な前処理ディレクティブ」前処理コンパイル エラーが発生しますか?

SOME_TARGET_FLAG と SOME_ANOTHER_TARGET_FLAG は、ターゲット ビルド設定 (-D<FLAG_NAME>パターン) で定義された「その他の C フラグ」にすぎません。

#elseifdefディレクティブは Xcode でサポートされていませんか?

4

2 に答える 2

39

#elseifdef ディレクティブは Xcode でサポートされていませんか?

そうではない。代わりにこれを使用してください:

#elif defined(SOME_ANOTHER_TARGET_FLAG)
于 2012-02-27T12:25:40.290 に答える
2

エラーメッセージに示されているように、サポートされていません。「Cプリプロセッサ」を参照してください-https://developer.apple.com/library/mac/#documentation/DeveloperTools/gcc-4.2.1/cpp/index.html#//apple_ref/doc/uid/TP40007092 (条件付きコンパイル)。

于 2012-02-27T12:22:59.323 に答える