gpt4 book ai didi

c++ - 链接器命令失败,退出代码为 1 - Xcode

转载 作者:行者123 更新时间:2023-11-28 06:14:32 25 4
gpt4 key购买 nike

我一直收到这个错误,我不知道为什么。我已经在其他应用程序中实现了此方法,但出于某种原因它不适用于此应用程序...

我有以下内容:

ViewController.h:

    NSInteger HighScore;

ViewController.m:

 - (void)viewDidLoad {
...
//load highscores
HighScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScoreSaved"];
HighscoreLabel.text = [NSString stringWithFormat:@"%li", (long)HighScore];
}

游戏.m:

 #import "ViewController.h"
...
//set/save new highscore
if(Score > HighScore){
[[NSUserDefaults standardUserDefaults] setInteger:Score forKey:@"HighScoreSaved"];
}

它不断返回一个失败的构建,并显示链接器错误“重复符号”。

我很困惑。我什至尝试添加一个全局 header 并将其导入到 ViewController 和 Game 中,但我仍然收到链接器错误?:

全局.h:

 #ifndef _Global_h
#define _Global_h

NSInteger HighScore;

#endif

ViewController.m:

 #import "Global.h"

- (void)viewDidLoad {
...
//load highscores
HighScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScoreSaved"];
HighscoreLabel.text = [NSString stringWithFormat:@"%li", (long)HighScore];
}

游戏.m:

 #import "Global.h"
...
//set/save new highscore
if(Score > HighScore){
[[NSUserDefaults standardUserDefaults] setInteger:Score forKey:@"HighScoreSaved"];
}

Xcode 会不会有问题?我已经尝试过典型的“Clean Build”等...还是我在做一些非常愚蠢的事情?谢谢。

更新基于 molbdnilo 的回答

虽然我之前不是这样实现的,但是现在是这样实现的:

ViewController.h:

 extern NSInteger HighScore;

ViewController.m:

 //load highscore
HighScore = [[NSUserDefaults standardUserDefaults] integerForKey:@"HighScoreSaved"];
HighscoreLabel.text = [NSString stringWithFormat:@"%li", (long) HighScore];

游戏.h:

 NSInteger HighScore; //exactly as declared in ViewController.h

游戏.m:

 //if higher score, overwrite
if (Score > HighScore){
[[NSUserDefaults standardUserDefaults] setInteger:Score forKey:@"HighScoreSaved"];
}

最佳答案

每次您在某处包含/导入文件时,您的 HighScore 变量都会获得一个定义。
(有关详细信息,请查看“翻译单元”概念。)

如果您真的非常想使用全局变量,则需要在 header 中声明“外部”:

extern NSInteger HighScore;

并在一个源文件中定义它:

NSInteger HighScore;

关于c++ - 链接器命令失败,退出代码为 1 - Xcode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30598120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com