1

在导入 Google Drive SDK 和 Google Objective-C 客户端 API 时出现以下错误。我将 Xcode 6.1 与 iOS 8.1 一起使用,Swift 作为我的主要语言。我已按照 Google Drive SDK 页面中的所有步骤进行操作,但仍然无法正常工作。有链接器错误,我不知道如何解决这个问题。有想法该怎么解决这个吗?

ld: warning: directory not found for option '-L/Users/salmanhasratkhan/Documents/Projects/xy/Project Shutter/iOS/Project Shutter copy/google-api-objectivec-client-read-only/Source/build/Debug-iphoneos'
ld: warning: ignoring file /Users/salmanhasratkhan/Library/Developer/Xcode/DerivedData/Project_Shutter-bcpwuavdfcgeemfbwlffsfjqczvo/Build/Products/Debug-iphoneos/libGTLTouchStaticLib.a, file was built for archive which is not the architecture being linked (arm64): /Users/salmanhasratkhan/Library/Developer/Xcode/DerivedData/Project_Shutter-bcpwuavdfcgeemfbwlffsfjqczvo/Build/Products/Debug-iphoneos/libGTLTouchStaticLib.a
Undefined symbols for architecture arm64:
  "_OBJC_METACLASS_$_GTLService", referenced from:
      _OBJC_METACLASS_$_GTLServiceDrive in GTLDrive_Sources.o
     (maybe you meant: _OBJC_METACLASS_$_GTLServiceDrive)
  "_OBJC_CLASS_$_GTLService", referenced from:
      _OBJC_CLASS_$_GTLServiceDrive in GTLDrive_Sources.o
     (maybe you meant: _OBJC_CLASS_$_GTLServiceDrive)
  "_OBJC_METACLASS_$_GTLObject", referenced from:
      _OBJC_METACLASS_$_GTLDriveAbout in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveAboutAdditionalRoleInfoItem in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveAboutExportFormatsItem in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveAboutFeaturesItem in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveAboutImportFormatsItem in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveAboutMaxUploadSizesItem in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveAboutQuotaBytesByServiceItem in GTLDrive_Sources.o
      ...
  "_OBJC_METACLASS_$_GTLQuery", referenced from:
      _OBJC_METACLASS_$_GTLQueryDrive in GTLDrive_Sources.o
     (maybe you meant: _OBJC_METACLASS_$_GTLQueryDrive)
  "_OBJC_CLASS_$_GTLObject", referenced from:
      _OBJC_CLASS_$_GTLDriveAboutAdditionalRoleInfoItem in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveAboutExportFormatsItem in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveAboutFeaturesItem in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveAboutImportFormatsItem in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveAboutMaxUploadSizesItem in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveAboutQuotaBytesByServiceItem in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveAbout in GTLDrive_Sources.o
      ...
  "_OBJC_METACLASS_$_GTLCollectionObject", referenced from:
      _OBJC_METACLASS_$_GTLDriveAppList in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveChangeList in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveChildList in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveCommentList in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveCommentReplyList in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveFileList in GTLDrive_Sources.o
      _OBJC_METACLASS_$_GTLDriveParentList in GTLDrive_Sources.o
      ...
  "_OBJC_CLASS_$_GTLQuery", referenced from:
      _OBJC_CLASS_$_GTLQueryDrive in GTLDrive_Sources.o
     (maybe you meant: _OBJC_CLASS_$_GTLQueryDrive)
  "_OBJC_CLASS_$_GTLCollectionObject", referenced from:
      _OBJC_CLASS_$_GTLDriveAppList in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveChangeList in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveChildList in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveCommentList in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveCommentReplyList in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveFileList in GTLDrive_Sources.o
      _OBJC_CLASS_$_GTLDriveParentList in GTLDrive_Sources.o
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

1 回答 1

1

经过一些实验,我发现了如何让它在 Xcode 6.1 上运行。以下是我尝试过的方法。我正在记录所有内容,因为我不知道是哪一个真正使它起作用。

  1. 单独打开 GTL.xcodeproj。Xcode 会给你一个警告并要求你更新你的设置。选择更新它。
  2. 然后导航到 GTL 项目(目标窗口)并单击 GTLTouchStaticLib 并在支持的平台中选择 iOS(默认设置为 OS X)。
  3. 关闭 GTL 项目,然后重新打开您自己的项目。清理并构建和中提琴,链接器不再抱怨,一切都应该正常工作。

我不确定是否需要(1),但由于我一起完成了所有这些步骤,我不确定哪个是真正解决问题的步骤。

我希望这可以解决其他人的问题。

于 2014-11-03T10:38:25.797 回答