常量值上的链接器错误



我正在尝试创建一些字符串常量,所以我有以下内容:

常量.h

extern NSString* const CONSTANT_ONE;

常量.m

NSString *const CONSTANT_ONE = @"CONSTANT_ONE";

SomeOtherFile.m

#import "Constants.h"
... snip
NSString* something = CONSTANT_ONE;

Constants.m 列在目标构建阶段的"编译源代码"位中,当我查看侧边栏的"目标成员资格"部分时,它是目标的成员。

当我尝试编译时,出现如下错误:

Undefined symbols for architecture i386:
  "_CONSTANT_ONE", referenced from:
      -[SomeOtherFile someMethod:] in SomeOtherFile.o

我想我可能误解了一些基本的东西 - 任何人都可以帮助我解决这个错误吗?

我最初问题中的代码是正确的。我不知道为什么,但简单地关闭并重新打开 Xcode 解决了这个问题,而且它构建得很好。只是Xcode让自己感到困惑。

最新更新