如何删除 xcode 中的“未定义符号”错误

问题描述 投票:0回答:1

我在 global.h 文件中将变量“ue”声明为

Extern int ue;
。我想要使用该变量的所有视图控制器上都有
#include "global.h"
。如果我没有为“ue”分配值,我的项目就会构建并运行。如果我为“ue”分配一个值,我会收到以下错误并且构建失败;

未定义符号:_ue 链接器命令失败,退出代码为 1(使用 -v 查看调用)

我已经搜索了解决方案并尝试了一些建议,但我不断收到相同的错误。我之前在“global.h”中声明了多个变量,没有任何问题。

objective-c undefined-symbol
1个回答
0
投票

Extern 修饰符意味着该值被分配给其他文件中的变量,因此您不应该就地执行它。有两种选择可以解决您的问题

选项 1:将 global.h 中的变量声明为 static 而不是 extern。

static int ue = 1;

选项 2:使用 global.h 和 global.m 文件创建 Obj-C 类。从两个文件中删除所有内容(接口/实现)。在您的 .h 文件中声明一个 extern 变量。

extern int ue;

在您的 .m 文件中分配值:

int ue = 1;
© www.soinside.com 2019 - 2024. All rights reserved.