繁体   English   中英

X上目标C的代码6上的错误“体系结构x86_64的未定义符号”

[英]error 'Undefined symbols for architecture x86_64 ' on Xcode 6 for Objective C

我开始使用Xcode 6研究ObjectiveC。 我遵循一些Web教程并尝试一些示例。 我正在使用Mac OS X 10.9。 到目前为止,我还没有收到这样的错误。 我尝试了许多客观的C代码。 在这里,我附上了我的编码。

的main.m

#import <Foundation/Foundation.h>
#import "CarUtilities.h"

int main(int argc, const char * argv[]) {
@autoreleasepool {

NSDictionary *makesAndModels = @{
 @"Ford":@[@"Explorer",@"F-150"],
 @"Honda":@[@"Accord",@"Civic",@"Pilot"],
 @"Nissan":@[@"370Z",@"Altima",@"Versa"],
 @"Porsche":@[@"911 Trubo",@"Boxter",@"Cayman S"]

 };

 NSString *randomCar = CUGetRandomMakeAndModel(makesAndModels);
 NSLog(@"Selected a %@",randomCar);
}
return 0;
}


//CarUtilities.m

#import #import“ CarUtilities.h”

//private function declaration

static id getRandomItemFromArray(NSArray *anArray);

//公共功能实现

NSString *CUGetRandomMake(NSArray *makes){

return getRandomItemFromArray(makes);
}

NSString *CUGetRandomModel(NSArray *models){
return getRandomItemFromArray(models);
}

NSString *CUGetRandomMakeAndModel(NSDictionary *makesAndModels){

NSArray *makes = [makesAndModels allKeys];
NSString *randomMake = CUGetRandomeMake(makes);
NSArray *models = makesAndModels[randomMake];
NSString *randomModel = CUGetRandomeModel(models);

return [randomMake stringByAppendingFormat:@" %@",randomModel];

}

//private function implementation

static id getRandomItemFromArray(NSArray *anArry){

int maximum = (int) [anArry count];
int randomIndex = arc4random_uniform(maximum);

return anArry[randomIndex];

}
CarUtilities.h

#import <Foundation/Foundation.h>

NSString *CUGetRandomeMake(NSArray *makes);
NSString *CUGetRandomeModel(NSArray *models);
NSString *CUGetRandomMakeAndModel(NSDictionary *makesAndModels);

当我尝试运行此代码时,出现以下错误。

Ld / Users / samudrjkumara / Library / Developer / Xcode / DerivedData / CarUtilities-govahlvyjxsayfaxlqircwemwocg / Build / Products / Debug / CarUtilities normal x86_64 cd / ObjectiveC / CarUtilities export MACOSX_DEPLOYss / Develop / App6B / APP6-B.Content /XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode6-Beta6.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -L / Users / samudrjkumara /库/开发人员/ Xcode / DerivedData / CarUtilities-govahlvyjxsayfaxlqircwemwocg / Build / Products / Debug -F / Users / samudrjkumara / Library / Developer / Xcode / DerivedData / CarUtilities-govahlvyjxsayfaxlqircswem / User / Sumudrjkumara开发人员/ Xcode /派生数据/CarUtilities-govahlvyjxsayfaxlqircwemwocg/Build/Intermediates/CarUtilities.build/Debug/CarUtilities.build/Objects-normal/x86_64/CarUtilities.LinkFileList -mmacosx-version-min = 10.9 -fobjc-arc -fobjc-link运行时-Xlinker -dependency_info -Xlinke r /Users/samudrjkumara/Library/Developer/Xcode/DerivedData/CarUtilities-govahlvyjxsayfaxlqircwemwocg/Build/Intermediates/CarUtilities.build/Debug/CarUtilities.build/Objects-normal/x86_64/CarUtilities_dependency_Inforarys-Userr_Inforary_Userj开发商/ Xcode中/ DerivedData / CarUtilities-govahlvyjxsayfaxlqircwemwocg /编译/产品/调试/ CarUtilities

架构x86_64的未定义符号:“ _ CUGetRandomeMake”,引用自:CarUtilities.o中的_CUGetRandomMakeAndModel。_CUGetRandomeModel”,引用:CarUtilities.o中的_CUGetRandomMakeAndModel。ld:找不到架构x86_64命令的符号:错误链接:退出代码为1(使用-v查看调用)

我错了。 请为此提供帮助,因为我是Xcode和Objective C的新手。

我认为问题与项目构建设置有关。

在目标构建设置中,检查是否在体系结构子视图下:

"Architecture" includes all supported architectures. (including arm64)

"Build active architecture only": NO.

没有足够的仓库来添加图像。 因此,请检查此帖子上的图片:

Xcode 5和iOS 7:架构和有效架构

错别字:

NSString *CUGetRandomMake(NSArray *makes){
    return getRandomItemFromArray(makes);
}
...

NSString *randomMake = CUGetRandomeMake(makes);
//                                ^

CUGetRandomModel()相同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM