2013-12-13 9 views
5

私はXCodeのC++プロジェクトに取り組んでおり、外部フレームワーク(SFML http://www.sfml-dev.org/)を利用しています。dyld:怠惰なシンボルのバインドに失敗しました:シンボルを解決できません

最近私のプロジェクトをgithubにアップロードし、別のMacでプロジェクトをチェックアウトしようとしました。

しかし、私は新しいコンピュータ上で私のプログラムを実行しようとすると、私はこのエラーに

dyld: lazy symbol binding failed: can't resolve symbol __ZN2sf5ImageC1Ev in 
/Users/myname/Library/Developer/Xcode/DerivedData/projectname- 
fufhzxbkoeekzeayzzlrtvgajvnn/Build/Products/Debug/projectname because dependent 
dylib #3 could not be loaded 

を取得し、私はこれが何を意味するのか見当がつかないとまさに問題オンライン苦労見つけ出すを持ってきましたです。

答えて

3

このエラーメッセージは、実行時にライブラリパスで使用できない共有ライブラリ(dylib)とリンクしていることを示しています。

元のビルドの標準の場所(/Library/Frameworksなど)のいずれかにフレームワークをインストールし、フレームワークを確認して再ビルドしたときに同じ場所にフレームワークをインストールした場合は、OKです。ただし、特に組み込みフレームワークを使用する場合は、注意しないとトラブルを引き起こす可能性のあるフレームワークリンクが複雑になります。あなたがアプリケーションを構築していないように見えるので、私はあなたがフレームワークを埋め込んでいないと仮定します。

新しいコンピュータと古いコンピュータの両方でフレームワークのインストール場所を比較し、同じでない場合は、その可能性があります。

同じ場所にあるように見える場合は、DYLD_LIBRARY_PATH(良い交換の質問dyld)をチェックする必要があります。

関連する問題