web-dev-qa-db-ja.com

Apple Mach-Oリンカエラー、どうすればいいのかわからない

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

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)
'

どうすれば修正できますか?助けてください。

26
Sega dude

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

ターゲット->ビルド設定->ライブラリ検索パス enter image description here

49
crashbus

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

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

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

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

がんばろう。

18
Divine_Code

CocoaPodsを使用して依存関係をインストールした場合は、.xcworkspaceファイル、およびnot.xcodeprojファイルをクリックして、XCodeプロジェクトを開いてください。

5
Chris Chute

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

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

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

また、Release vs. Build用にコンパイルしてみて、そのうちの1つが機能する場合は、すべてのコンパイラオプションを調べて、何が違うのかを確認してください。

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

.mファイルを追加して、ソースページをコンパイルします。

手順:-

  1. ナビゲーションメニューでプロジェクトをクリックする
  2. ターゲットを選択
  3. ビルド段階を選択する
  4. [+]ボタンを選択し、コンパイルソースにファイルを追加します。

この問題を抱えている人を助けることを願っています

1
Neenu

私もプロジェクトにlibxml2.dylibを追加すると、45個の同じ種類のエラーで同じ問題が発生し、エラーは消えました。

0

私はこの問題を抱えていましたが、現在の状況では、より新しいiOSバージョンを展開ターゲットとして選択して、これを修正しました。私のプロジェクトはデフォルトでiOS 5にデプロイするように設定されていましたが、これを7(最新)に変更するとうまくいきました。

IOS開発を初めて使用する場合は、ナビゲータ>展開情報>展開ターゲットでXCodeプロジェクトファイルをクリックし、ドロップダウンメニューから適切なバージョンを選択することでこれを実行できます。

私はこれが他の人が抱えている問題のいくつかを解決するのではないかと疑っていますが、私と同じ船に何人かの人がいるかもしれません。

0
user3032314

問題は、パス内のスペースです。

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"

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

0
Bastian

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

私の答えもご覧ください。

OCUnitのコアデータクラスを使用したApple Mach-Oリンカーエラー

0

プロジェクトがコアデータのxcdatamodeldファイルをコンパイルソースに挿入したためです。プロジェクトを選択->ビルドフェーズ->ソースをコンパイルし、projectName.xcdatamodeldファイルを削除します。インポートしたかどうかも確認してください.mファイルの代わりに.hファイルでは、同じリンカーエラーも発生します。すべての#importコードを確認します。ライブラリにコアデータフレームの作業を追加し、コアデータをインポートしたかどうかを確認します.hファイル。 NSManagedObjectの作成を確認し、そのファイルをインポートします。試してみて、まだエラーがあれば返信してください。

0
user8065217

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

エラー:Apple Mach-O Linker errror

プロトコルを定義し、プロトコル拡張を実装したことが判明しました。プロトコル拡張の1つの方法はパブリックでしたが、プロトコル自体はそうではありませんでした。これにより、Apple Mach-O Linkerエラーが発生しました。

例:

プロトコルMyProtocol {varフィールド:文字列{get}}

拡張MyProtocol {public func giveMeSomething()-> String}

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

説明では、エラーはMyProtocolから参照されたMyClassに言及しました-> giveMeSomething()から参照されたMyProtocol ...

そのため、解決策はMyprotocolを作成することでしたpublic

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

0
scrat84

同じ問題がありました

ビルドオプションを設定するだけです-> Enable BitcodeからNO

0
Vineesh TP