2011-02-04 33 views
12

私はTwitterライブラリを使用しようとしていて、liboauth.aを追加してoauthconsumeriphonelibをヘッダ検索パスに追加すると、コンパイルエラーが1つになります。取り除かれているようだ。XCodeコンパイラエラー:ld:ライブラリが見つかりませんでした-loauth

ld: library not found for -loauth 
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1 

誰でもこの原因が分かるでしょうか?

答えて

17

を行われますそれらを削除いけないよりも、ドラッグ&ドロップでライブラリを既に追加している場合Robinが示唆したことあなたはまた、図書館の検索パスを設定する必要があります。ターゲットファイルを右クリックし、[選択] - [情報を見る]を選択すると、XCodeの[プロジェクト]タブの[アクティットターゲットの編集]を選択しても同じことができます。ライブラリ検索パスを探し、この "$(SRCROOT)/ Twitter + OAuth/SAOAuthTwitterEngine"を追加します。ここで、Twitter + OAuth/SAOAuthTwitterEngineはプロジェクトフォルダ内のTwitterライブラリのディレクトリパスです。 これで問題が解決されることを願っています。


enter image description here

+0

ラフールありがとう。私はあなたが示唆したことをしました、そして、私は私が終わったと思った他のエラーを見ています。 ld:警告:/usr/local/lib/liboauth.dylibに、アーキテクチャがリンクされていないi386用にビルドされたファイル(armv6)./configureでliboauthを再インストールする必要がありました。CC = "gcc -arch i386" CXX = "g ++ -arch i386"とそれらのエラーは消えてしまった。これはちょうど警告ですが、欠落しているファイルがたくさんあると不平を言っています... SA_OAuthTwitterEngine.oのobjc-class-ref-to-OAToken – Nefsu

+0

実際には、私がシミュレータをビルドすると、OAuthが見つからないクラスへの参照についても同じ警告が表示されますが、警告は表示されません。 – Nefsu

+0

For All設定を個別に追加する必要があります。すべての設定をTargetビルドプロパティに追加します。また、ライブラリが物理的にプロジェクトファイル –

2

よく@あなたは、既存のフレームワークを追加し、使用するライブラリのパスを与えることで、それらのライブラリをプロジェクトに追加する必要があります。

そして、あなただけのグループやフォルダを右クリックして、既存のフレームワークを追加し、フォルダからライブラリを追加し、あなたが継続

+0

ロビンさんの提案に感謝しますが、私はあなたが「使用したいライブラリへのパスを与える」という意味をよく理解していません。私は/ usr/local/libからliboauth.aをフレームワークを右クリックして既存の外部フレームワークとして選択して追加しました。私は何か他にやるべきことはありますか?私は、libを追加する前に、見つからなかったクラスについて5つのコンパイルエラーが発生していたことを指摘しておきます。 – Nefsu

+0

ビルド中に発生しているエラーを正確に伝えることができます – Robin

+0

このリンクもチェックできますhttp://stackoverflow.com/questions/4835754/why-is-there-a-compile-error-when-including-openssl-静的ライブラリ/ 4835913#4835913 – Robin

1

新しいGoogleアナリティクスのライブラリにアップグレードしようとしているときに、私はこの非常に誤解を招くようなメッセージを発見しました。

私の場合、問題はライブラリのの2つの相違点を持っていました。それらは異なるフォルダにありましたが、どちらも私のAppのライブラリ構築パス(ビルド設定の下)にリストされていました。

すべての非難されたライブラリファイルをフォルダから移動すると、トリックが終わり、不思議なエラーメッセージが表示されなくなりました。

関連する問題