Objective-Cでグローバル定数を定義したファイルをPrefix.pchでインポートする方法
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でインポートしたいのですが、どのようにすれば良いでしょう。