Xcode 链接器错误?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/9660718/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 23:36:05  来源:igfitidea点击:

Xcode Linker Error?

xcodegame-center

提问by Raoul

I get this error:

我收到此错误:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_GameCenterManager", referenced from:
      objc-class-ref in BT_viewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

My Info:

我的信息:

Ld /Users/Raoul/Library/Developer/Xcode/DerivedData/latintogopro-fbrntyvxhakjwlfaxcckdbvsvcli/Build/Products/Debug-iphonesimulator/LatinToGo.app/LatinToGo normal i386
cd /Users/Raoul/Downloads/latintogopro_v15_iOS
setenv MACOSX_DEPLOYMENT_TARGET 10.6
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/Raoul/Library/Developer/Xcode/DerivedData/latintogopro-fbrntyvxhakjwlfaxcckdbvsvcli/Build/Products/Debug-iphonesimulator -L/Users/Raoul/Downloads/latintogopro_v15_iOS/BT_Objects/TwitterOAuth/SAOAuthTwitterEngine -F/Users/Raoul/Library/Developer/Xcode/DerivedData/latintogopro-fbrntyvxhakjwlfaxcckdbvsvcli/Build/Products/Debug-iphonesimulator -F/Users/Raoul/Downloads/latintogopro_v15_iOS/BT_Objects -filelist /Users/Raoul/Library/Developer/Xcode/DerivedData/latintogopro-fbrntyvxhakjwlfaxcckdbvsvcli/Build/Intermediates/latintogopro.build/Debug-iphonesimulator/latintogopro.build/Objects-normal/i386/LatinToGo.LinkFileList -mmacosx-version-min=10.6 -Xlinker -objc_abi_version -Xlinker 2 -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED=50000 -framework Security -framework GameKit -lxml2.2 -framework CoreAudio -framework CoreLocation -framework Foundation -framework SystemConfiguration -weak_framework UIKit -framework MobileCoreServices -framework AVFoundation -weak_framework MessageUI -lOAuth -framework MapKit -weak_framework MediaPlayer -framework CoreGraphics -framework QuartzCore -weak_framework iAd -o /Users/Raoul/Library/Developer/Xcode/DerivedData/latintogopro-fbrntyvxhakjwlfaxcckdbvsvcli/Build/Products/Debug-iphonesimulator/LatinToGo.app/LatinToGo

回答by Sameera Chathuranga

Go to your project, click on Build phases, Compile sources, Add GameCenterManager.m to the list.

转到您的项目,单击构建阶段、编译源、将 GameCenterManager.m 添加到列表中。

Hope this will help :)

希望这会有所帮助:)

回答by matt

Presumably your code refers to the class called GameCenterManager but your project doesn't link to the framework that defines it.

大概您的代码引用了名为 GameCenterManager 的类,但您的项目没有链接到定义它的框架。

If this is a built-in framework, then link to that framework: edit the target, in the Summary scroll down to the linked frameworks, press the Plus button to add the framework.

如果这是一个内置框架,则链接到该框架:编辑目标,在摘要中向下滚动到链接的框架,按加号按钮添加框架。

If this is a third-party framework, they should provide instructions for linking to their framework.

如果这是第三方框架,他们应该提供链接到他们的框架的说明。