web-dev-qa-db-ja.com

dyld:ライブラリがロードされていません、理由:画像が見つかりません

今週までは通常どおりgdbを使用していました。今、gdbを実行しています:

(gdb) r
Starting program: /Volumes/MyProg 
dyld: Library not loaded: @rpath/libCore.so
  Referenced from: /Volumes/MyProg
  Reason: image not found
(gdb) 

修正方法

私が持っています:

  • OSX 10.9
  • MacPortsとともにインストールされたGNU gdb(GDB)7.6

追伸.

GdbとXcodeを再インストールしました。これは役に立ちません。

Dyldの問題については多くの質問がありますが、明らかにOSX上のライブラリの経験が足りず、私には役に立たないようです。

たとえば、次のトピック: dyld issues library not loaded しかし、ライブラリを再度ダウンロードする方法は?

またはこのトピック: Dyld:Library not loaded しかし、インストール名を見つける方法は? @rpathとは何ですか?

30
klm123

修正方法:

  1. libCore.soROOTフレームワーク のライブラリで、MyProgが使用します。
  2. 正しく理解できれば、メッセージLibrary not loaded: @rpath/libCore.so Referenced from: /Volumes/MyProg Reason: image not foundは、リンカーがライブラリを見つけたが、使用できないことを意味します。
  3. ルートでは、インストール時にデフォルトでclangが使用されます。一方、私はgccを好み、MyProgはgccを使用します。
  4. ルートをgccコンパイラで再インストールしました:

    ./configure --with-cxx = g ++ --with-cc = gcc --with-ld = g ++

  5. MyProgを再コンパイルしました。

そして今、私はgdbでそれをデバッグすることができます。

6
klm123

[全般]プロジェクト設定の[埋め込みバイナリ]でこの問題を解決しました。

29
Karsten

次の設定を変更してこの問題を解決しました

プロジェクト設定Your_Target-> General-> Embedded Binaries->に移動し、+ボタンをクリックして、ここにライブラリを追加します

11
user5180348

Rpathの詳細については、こちらをご覧ください: link

したがって、libCore.soへのパスを指定する必要がありますが、正直なところ、このライブラリに直面したことはないため、どこにあるのかわかりません。

Rpathとは何かを理解するために、この回答も確認できます。 answer

1