我在 global.h 文件中将变量
ue
声明为 Extern int ue;
。我想要使用该变量的所有视图控制器上都有 #include "global.h"
。如果我不给 ue
赋值,我的项目就会构建并运行。如果我为 ue
分配一个值,我会收到以下错误并且构建失败;
未定义符号:_ue
链接器命令失败,退出代码为 1(使用 -v 查看调用)
我已经搜索了解决方案并尝试了一些建议,但我不断收到相同的错误。我之前在“global.h”中声明了多个变量,没有任何问题。
extern
修饰符意味着该值被分配给其他文件中的变量,因此您不应该就地执行它。有两种选择可以解决您的问题。
选项 1:将 global.h 中的变量声明为 static 而不是 extern。
static int ue = 1;
选项 2:使用 global.h 和 global.m 文件创建 Obj-C 类。从两个文件中删除所有内容(接口/实现)(您应该只在 .m 文件中保留
#import
指令)。在您的 .h 文件中声明一个 extern 变量。
extern int ue;
在您的 .m 文件中分配值:
int ue = 1;