7907
<http://qiita.com/ytka/items/512468814bf15d937f2b>  
このページを参考にして、グローバルな定数を定義するファイルを作成しました。

MyConstant.h

```

    #undef _EXTERN
    #undef _INITIALIZE_AS
    
    #ifdef _DEFINE_GROBAL_CONSTS_
     #define _EXTERN
     #define _INITIALIZE_AS(x) =x
    #else
     #define _EXTERN extern
     #define _INITIALIZE_AS(x)
    #endif
    
    _EXTERN NSString* const kAddMessageNotification _INITIALIZE_AS(@"addMessage");
    
```

MyConstant.m

```

    #define _DEFINE_GROBAL_CONSTS_ 1
    #import "RRGConstant.h"
    
```

このファイルで定義した定数は多くのファイルで使用するため、  
Prefix.pchでインポートしました。

```

    #import "MyConstant.h"
    
```

すると、MyConstant.mで

```

    #define _DEFINE_GROBAL_CONSTS_ 1
    
```

より前にMyConstant.hがインポートされてしまうためか、定数が定義されず、エラーが出ました。  
（Prefix.pchでインポートせず、定数を使用するそれぞれのファイルでインポートした場合には、うまくいきました。）

```

    Undefined symbols for architecture arm64:
      "_kAddMessageNotification", referenced from: ...
    
```

この定数ファイルは多くのファイルから利用するので、できればPrefix.pchでインポートしたいのですが、どのようにすれば良いでしょう。
CC BY-SA 3.0
2015-03-14T05:50:20.587
7905
2015-03-14T06:40:44.730
8825
question
objective-c xcode
Objective-Cでグローバル定数を定義したファイルをPrefix.pchでインポートする方法
MyConstant.mの`Compiler Flags`に`-D _DEFINE_GROBAL_CONSTS_=1`を設定してください。

![スクリーンショット](https://i.stack.imgur.com/ecmFf.png)
CC BY-SA 3.0
2015-03-14T06:40:44.730
7907
2015-03-14T06:40:44.730
3639
7905
answer