Objective c 全局变量的链接器错误
我正在制作一个小而简单的应用程序,所以我决定在单例上使用全局变量。我也只使用了一个 我的应用程序从一个小的首选项文件中提取一个int,并将其设置为全局变量NSInteger。应用程序运行时,可能会更改全局变量 AppController.hObjective c 全局变量的链接器错误,objective-c,cocoa,global-variables,linker-errors,Objective C,Cocoa,Global Variables,Linker Errors,我正在制作一个小而简单的应用程序,所以我决定在单例上使用全局变量。我也只使用了一个 我的应用程序从一个小的首选项文件中提取一个int,并将其设置为全局变量NSInteger。应用程序运行时,可能会更改全局变量 AppController.h #import <Cocoa/Cocoa.h> extern NSInteger preferenceNumber; @interface .... 链接器错误(2): 架构x86_64的未定义符号: “\u首选项编号”,引用自: -App
#import <Cocoa/Cocoa.h>
extern NSInteger preferenceNumber;
@interface ....
链接器错误(2):
架构x86_64的未定义符号:
“\u首选项编号”,引用自:
-AppController.o中的[AppController someMethod1]
-AppController.o中的[AppController someMethod2:]
ld:找不到架构x86_64的符号
叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)
粗体部分是两个错误
这是什么原因造成的?最简单、最好的解决方法是什么?只需在实现类中添加一行:-
AppContollr.m
@implementation AppContoller
NSInteger preferenceNumber;
preferenceNumber
的定义在哪里?@Sebastian抱歉,它就在那里,我刚刚忘了把它转换成代码。它的in-App Controller.m我把它编辑回来了,它仍然不是一个定义,只是一个首选项编号的声明。
AppContollr.m
@implementation AppContoller
NSInteger preferenceNumber;