web-dev-qa-db-ja.com

ld:アーキテクチャx86_64(Xcode 4)のシンボルが見つかりません// opengles.o

外部ライブラリを使用してxcodeコマンドツールアプリケーションを作成していますが、エラーが発生しました。

私がそれらを解決しようとしたもの:

  • 別のコンパイラでビルドする
  • gLESフォルダを削除して再度追加します
  • 32と64で構築する

Opengles.cppに関する何かが足りませんか?

次に何ができるかわからない場合は、そのように言ってください。プロジェクトとエラーに関するすべての情報を以下に示します。さらに詳しい情報が必要な場合は、喜んでお手伝いさせていただきます。また、xcode 4でコンパイルされたopnniからNiUsertrackerサンプルを取得する方法を知っている場合は、この問題を解決するのにも役立ちます。

エラー :

enter image description here

問題はこれらのファイルと関係があるかもしれません:

enter image description here

プロジェクト設定の情報(アプリではなくコマンドラインツールです):

enter image description here

ビルド時の出力のスクリーンショット

enter image description here

ビルド設定

enter image description here

11
Olivier_s_j

通常、このようなエラーが発生したのは、ライブラリとのリンクを忘れたためです。取得したフォルダーにはヘッダーのみが含まれています。 OpenGLESのフレームワークを見つけてください。 (XcodeにはGLESフレームワークが付属していると思います。検索してみてください。)

7
Bob

ターミナル(Terminal.app)でコマンドを手動で実行して、問題が何であるかを正確に調べます。

[ 11:56 jon@hozbox ~ ]$ Ld /Users/olivierjanssens/Library/Developer/Xcode/DerivedData/scene-anlidnesspxdbhblrrwqfwybphqj/Build/Products/Debug/scene normal x86_64
[ 11:56 jon@hozbox ~ ]$ cd /Users/olivierjanssens/Documents/xcode/scene
[ 11:56 jon@hozbox ~ ]$ setenv MACOSX_DEPLOYMENT_TARGET 10.7
[ 11:56 jon@hozbox ~ ]$ /Developer/usr/bin/llvm-g++-4.2 -Arch x86_64 -isysroot /Developer/SDKs/MacOSX10.7.sdk -L/Users/olivierjanssens/Library/Developer/Xcode/DerivedData/scene-anlidnesspxdbhblrrwqfwybphqj/Build/Products/Debug -L/Users/olivierjanssens/Documents/xcode/scene/Libs -F/Users/olivierjanssens/Library/Developer/Xcode/DerivedData/scene-anlidnesspxdbhblrrwqfwybphqj/Build/Products/Debug -filelist /Users/olivierjanssens/Library/Developer/Xcode/DerivedData/scene-anlidnesspxdbhblrrwqfwybphqj/Build/Intermediates/scene.build/Debug/scene.build/Objects-normal/x86_64/scene.LinkFileList -mmacosx-version-min=10.7 /usr/lib/libnimCodecs.dylib /usr/lib/libnimMockNodes.dylib /usr/lib/libnimRecorder.dylib /usr/lib/libOpenNI.dylib /usr/lib/libXnVFeatures.dylib /usr/lib/libXnVHandGenerator.dylib -framework GLUT -framework OpenGL /Users/olivierjanssens/Documents/xcode/scene/Libs/glut64.lib -o

最後のコマンドを実行した後(/Developer/usr/bin/llvm-g++-4.2)、失敗の理由が表示されます。

setenv MACOSX_DEPLOYMENT_TARGET 10.7コマンドが失敗し、setenvexportに置き換え、= の前に 10.7 このような:

[ 11:56 jon@hozbox ~ ]$ export MACOSX_DEPLOYMENT_TARGET="10.7"

ビルド構成の設定が不足しているようです。おそらくアプリ名(MyApp.app)。プロジェクト設定ウィンドウの[情報]タブから何かが欠落していないことを確認します(左側のファイルのリストから一番上の項目をクリックするだけです)。

から llvm-gccのマニュアルページ

-o filename出力ファイルをfilenameに指定します。

2
chown

フレームワークを削除し、再度追加します。Xcodeを終了して再起動します。

1
Tendulkar