Constants.h
我已经在我的项目文件中声明了这个小家伙:
extern int *exitDirection;
然后,我将他设置为一个整数。在这种情况下,它是 881,这是一个非常好的数字。
现在,我想在项目其他地方的 switch 语句中使用他:
switch (exitDirection) {
case kExitDirectionLeft:
// Have him spawn on the right of the next level.
break;
case kExitDirectionRight:
// Have him spawn on the left of the next level.
break;
default:
break;
}
}
我收到了可爱的错误消息"Statement requires expression of integer type (int * invalid)
,我认为这意味着我给它一个指向整数的指针,而不是一个实际的整数。kExitDirectionLeft 只是#define
'd as 881,我试过用实际数字切换它,不高兴。还尝试将 int 切换为 NSNumber 或 NSInteger,同样的错误。
在这种情况下,为什么我不能使用这个外部定义的整数?我怎样才能让它工作?任何帮助表示赞赏!
修复了它,但这样做我现在触发了这个 Apple Mach-O Linker (Id) Error..
"_exitDirection", referenced from:
-[GameplayLayer positionHeroMale] in GameplayLayer.o
-[GameCharacter checkAndClampSpritePosition] in GameCharacter.o
-[GameplayLayer positionHeroMale] in GameplayLayer.o
-[GameCharacter checkAndClampSpritePosition] in GameCharacter.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
有任何想法吗?