26

デバイスまたはシミュレーター用にプロジェクトをコンパイルできなくなりました。13 個の Apple Mach-O-Linker エラーが発生します。シェアキットの使用に失敗した後、すべてが始まりました。エラーのログは次のとおりです。

ld: warning: directory not found for option '-F/Users/bbrandy95/Documents/Broken Brandsonic Web Projects/Brandsonic Web mobile/../../Downloads/0.2.1gm1/iphoneos4.0/System/Library/Frameworks'
Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_NSURLRequest", referenced from:
      objc-class-ref in Brandsonic_Web_mobileAppDelegate.o
      objc-class-ref in Brandsonic_Web_mobileViewController.o
  "_OBJC_CLASS_$_NSAutoreleasePool", referenced from:
      objc-class-ref in main.o
  "_objc_msgSendSuper2", referenced from:
      -[Brandsonic_Web_mobileAppDelegate dealloc] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileViewController didReceiveMemoryWarning] in Brandsonic_Web_mobileViewController.o
      -[Brandsonic_Web_mobileViewController dealloc] in Brandsonic_Web_mobileViewController.o
  "_objc_setProperty", referenced from:
      -[Brandsonic_Web_mobileAppDelegate setWindow:] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate setViewController:] in Brandsonic_Web_mobileAppDelegate.o
  "__objc_empty_vtable", referenced from:
      _OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_CLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_SecondView in SecondView.o
      _OBJC_CLASS_$_SecondView in SecondView.o
  "_objc_msgSend", referenced from:
      _main in main.o
      -[Brandsonic_Web_mobileAppDelegate application:didFinishLaunchingWithOptions:] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate dealloc] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate GOOGLE] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate YOUTUBE] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileAppDelegate WIKI] in Brandsonic_Web_mobileAppDelegate.o
      -[Brandsonic_Web_mobileViewController webView:shouldStartLoadWithRequest:navigationType:] in Brandsonic_Web_mobileViewController.o
      ...
  "__objc_empty_cache", referenced from:
      _OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_CLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_SecondView in SecondView.o
      _OBJC_CLASS_$_SecondView in SecondView.o
  "_OBJC_CLASS_$_NSObject", referenced from:
      _OBJC_CLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
  "___CFConstantStringClassReference", referenced from:
      CFString in Brandsonic_Web_mobileAppDelegate.o
      CFString in Brandsonic_Web_mobileAppDelegate.o
      CFString in Brandsonic_Web_mobileAppDelegate.o
      CFString in Brandsonic_Web_mobileViewController.o
      CFString in Brandsonic_Web_mobileViewController.o
      CFString in Brandsonic_Web_mobileViewController.o
      CFString in Brandsonic_Web_mobileViewController.o
      ...
  "_OBJC_CLASS_$_NSKeyedUnarchiver", referenced from:
      objc-class-ref in Brandsonic_Web_mobileViewController.o
  "_OBJC_CLASS_$_NSUserDefaults", referenced from:
      objc-class-ref in Brandsonic_Web_mobileViewController.o
  "_OBJC_CLASS_$_NSURL", referenced from:
      objc-class-ref in Brandsonic_Web_mobileAppDelegate.o
      objc-class-ref in Brandsonic_Web_mobileViewController.o
  "_OBJC_METACLASS_$_NSObject", referenced from:
      _OBJC_METACLASS_$_Brandsonic_Web_mobileAppDelegate in Brandsonic_Web_mobileAppDelegate.o
      _OBJC_METACLASS_$_Brandsonic_Web_mobileViewController in Brandsonic_Web_mobileViewController.o
      _OBJC_METACLASS_$_SecondView in SecondView.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
'

これを修正するにはどうすればよいですか? 助けてください。

4

12 に答える 12

49

同様のエラーを持つすべての人のために。その場合は、通常、ポイントの下の「パス」を削除できます

ターゲット - >ビルド設定 - >ライブラリ検索パス ここに画像の説明を入力

于 2012-05-30T18:39:23.567 に答える
18

このエラーは、フレームワークがプロジェクトに複数回追加された場合に発生する可能性があります。

  • これは、重複を削除することで修正できます。それを見つけるには、Xcode プロジェクトナビゲーターでフレームワークを選択し、Show in Finderを選択します。次に、プロジェクトをクリーンアップしてビルドします。

これは、フレームワーク ヘッダー ファイルまたはそれらへの参照がない場合にも発生する可能性があります。

  • その場合、SDK またはフレームワークを削除して、再度追加してみてください。

幸運を。

于 2014-09-16T07:25:08.143 に答える
2

プロジェクトファイルが何らかの形で破損している可能性があります。

これを修正する最も確実な方法は、新しいプロジェクトを作成し、ファイルと古い info.plist をその上に移動することです。

これを修正する次の最も可能性の高い方法は、現在のプロジェクトで新しいターゲットを作成し、それがコンパイルされるかどうかを確認することです (古いターゲットからの特別なフラグがある場合は、それらをコピーします)。

また、Release と Build のコンパイルを試すこともできます。そのうちの 1 つが機能する場合は、すべてのコンパイラ オプションを調べて、違いを確認してください。

Sharekit のヘッダー検索パスを追加した場合は、ヘッダー検索パス全体をクリアしてみて、問題が解決するかどうかを確認してください。また、プロジェクトに、新しいプロジェクトに含まれるフレームワーク (UIKit と NSFoundation など) がまだ含まれていることを確認してください。

于 2012-01-02T23:30:12.460 に答える
0

libxml2.dylib をプロジェクトに追加すると、エラーが消えました。

于 2013-03-07T14:07:29.637 に答える
0

問題はパス内のスペースです:

xcode は、リンカーに次のスイッチを使用します。

-F/Users/bbrandy95/Documents/Broken Brandsonic Web Projects/Brandsonic Web mobile/../../Downloads/0.2.1gm1/iphoneos4.0/System/Library/Frameworks

引用されていないため、機能しません。( フォルダを探しています"/Users/bbrandy95/Documents/Broken"

ディレクトリの名前を変更するか、プロジェクト設定を調べてディレクトリに引用符を追加する必要があります。(ただし、これを見つけるのは難しいかもしれません)

于 2012-01-02T23:31:39.990 に答える
0

ライブラリの検索パスが空である場合があります。これは、Apple-mac-o リンカ エラーが多数あるためです。

私の答えも参照してください。

OCUnit で Core Data クラスを使用すると、Apple Mach-O リンカ エラーが発生する

于 2013-06-24T12:15:56.157 に答える
0

私は自分で開発したココアポッドでこの問題に直面しました。

エラー: Apple Mach-O Linker エラー

プロトコルを定義し、プロトコル拡張を実装したことが判明しました。プロトコル拡張の 1 つの方法は公開されていましたが、プロトコル自体は公開されていませんでした。これにより、Apple Mach-O Linker エラーが発生しました。

例:

protocol MyProtocol { var フィールド: 文字列 { get} }

extension MyProtocol { public func giveMeSomething() -> 文字列 }

パブリック クラス MyClass: MyProtocol {}

説明では、 MyProtocol から参照された MyClass -> giveMeSomething() から参照された MyProtocol というエラーが言及されています...

したがって、解決策はMyprotocol公開することでした

それが誰かを助けることを願っています。

于 2017-08-24T08:45:26.643 に答える