2013-07-19 8 views
6

をリンクされているにもかかわらず、リンカが次のエラーを与える:未定義の参照、私が働いているプロジェクトをリンクする際、ライブラリが

/usr/bin/ld: ../Includes and Libs/lib/libsfml21rca.a(SoundFile.o): undefined reference to symbol '[email protected]@libsndfile.so.1.0' 

/usr/bin/ld: note: '[email protected]@libsndfile.so.1.0' is defined in DSO /usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libsndfile.so so try adding it to the linker command line 

/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libsndfile.so: could not read symbols: Invalid operation 

事はすでにlibsfml21rca前にリンクされているlibsndfile.so、です。私はどこに問題があるのか​​分かりません。

私はコードを使用しています::ブロック10.05

事前に助けてくれてありがとう

EDIT:「++ -Lグラム

:ここ

は、リンクコマンドですLibs/lib/ogg "-L"インクルードとLibs/lib/ogg "-L"インクルードとLibs/lib "-L"インクルードとLibs/lib/sdl "-LBullet/lib -o (ファイル名)...(たくさんのオブジェクトファイル)-lGLEW -lglfw -lGL -lGLU -lpthread -lopenal -ljpeg -lfreetype -lsndfile -lXrandr -lsfml-system -lsfml-window -lsfml-audio ../Bullet "/インクルードとLibs/lib/raknet3_731/RakNetLibStaticDebug.lib" ../インクルードとLibs/lib/libsfml21rca.a "../../../../../../home/msabol/Desktop/SFML/sfml2st/sfmlVideo/sfmlVideo/bin/Release/libsfmlVideo.a ../ ..

+4

リンクの順序を変更してみてください? –

+0

どのように正確に変更する必要がありますか?すべてが正しい順序でリンクされているか、少なくともそうであるように見えます。 – Matuzalem

+0

C :: Bがあなたの質問にリンクするために使用しているコマンドを追加してください。 (コメントに追加しないでください) – greatwolf

答えて

5

/../../../../home/msabol/Desktop/SFML/sfmlVideo/bin/Release/libsfmlVideo.aリンカはライブラリファイルの上で1つのパスを実行します。ライブラリAにライブラリBに何かが必要なものがある場合、g++ objects... -llibA -llibBが必要です。g++ objects... -llibB -llibAを使用すると、表示された方法で失敗します。

"../Includes and Libs/lib/libsfml21rca.a"の後に-lsndfileと入力してください。

(そして、そのアイデア、それは「付属してLibsの」ディレクトリにスペースを入れていた - ではない私が見た中で最高のアイデア...)

+1

私はそれを打つつもりです。私の防衛では、私は数日前にこのプロジェクトに飛びついたので、それ以上のひどい名前は私によって作られていませんでした。 **編集:** Blast damnation、それは働いた!ありがとう、マッツ・ピーターソン。 – Matuzalem

+0

@Mats率直に言って、私はライブラリ上のシングルパスをより不愉快に思っています。 'ld'リンカーの制限のためにOPのすべてのような無数のSOの質問がありました。 Microsoftの 'LINK'ツールには、この問題はありません。また、エンバカデロのilinkerもありません。 – greatwolf

+0

@greatwolf残念ながら、私の仕事はプロジェクトをUnixプラットフォーム上で動かすことです。 Microsoftの 'LINK'のためにはそれほど大したことはない。 – Matuzalem

関連する問題