• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:apple mach-0 linker error)

apple mach-0 linker errorとは?エラーの原因と解決方法

このQ&Aのポイント
  • cocos2dでアプリを作成していたのですが、apple mach-0 linker errorがでてしまいました。実機では問題なく動作しますが、シミュレータで実行しようとすると以下のエラーが出ます。エラーを見てみてフレームワークを入れ直すなどしましたが効果ありませんでした。
  • フレームワークのパスやBuild Phasesのcompile sourceに足りないソースファイルがないかなどなんども確認しましたが、原因らしい箇所が見つかりませんでした。
  • ちなみに広告にアスタを利用していますが、アスタのフレームワークのパスが通っているのも確認済みです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

No.1です。 追伸します。 「実機では問題なくてシミュレータでエラーが出る」ということ を見落としていたので、簡単なサンプルプロジェクトに libgll.dylibを指定したものをシミュレータで実行しようと したら、私の環境でも質問のエラーが再現しました。 たぶんlibgll.dylibは、実機用のライブラリしかないのだと思います。 私はcocos2dもアスタの広告も使ったことないのですが、 これら(あるいは他のフレームワークやライブラリ)を使うために libdll.dylibを指定するよう指示されているのであれば、 実機でのみ動作可能ということなのかもしれません。 そういう指示をした提供元に問い合わせて見るとよいと思います。 指示された覚えがないのに指定しているのであれば、 削除すればよいと思います。

nylonraw999
質問者

お礼

なかなかエラーが消えなかったのですがご指摘の通り指定のライブラリを削除することでエラーが消えました。ありがとうございます!

その他の回答 (1)

回答No.1

このエラーメッセージの一番重要な部分は > ld: library not found for -lgll です。 これより前の部分はリンカ(ld)実行コマンドのパラメータです。 このエラーメッセージは、libgllというライブラリが 見つからないと言っています。 cocos2dは使ったことないので、このライブラリが必要なものか どうか私にはわかりませんが、TARGETSのLinked Frameworks and Libraries の指定がどうなっているか確認してみてください。 私のXcode6.3.1の環境を見ると、libgll.dylibというライブラリが SDKに入っていて、Linked Frameworks and Librariesに追加して使える ようになっているようなので、必要なものであれば、一旦ライブラリの 指定を削除して再度指定し直す等すれば、もしかするとエラー解消するかも しれません。 もし必要なもので、指定してもエラーになるのであれば、Xcodeを インストールし直してみた方がよいかもしれません。 もし必要なものかどうかわからなければ、cocos2dを使った簡単な サンプルプロジェクトをビルドして、libgll.dylibの指定がどうなっているか 比較確認してみるとよいと思います。

関連するQ&A

専門家に質問してみよう