dyld: Bibliothèque non chargée, raison: image introuvable

J'ai utilisé gdb normalement jusqu'à cette semaine. Maintenant en cours d'exécution gdb je vois:

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

Comment le réparer?

J'ai:

  • OSX 10.9
  • GNU GDB (GDB) 7.6 installé avec MacPorts

P.S.

J'ai réinstallé gdb et Xcode. Cela n'aide pas.

Je vois beaucoup de questions sur les problèmes de dyld, mais évidemment je manque d'expérience avec les bibliothèques sur OSX, et elles semblent être inutiles pour moi.

Par exemple ce sujet: dyld questions bibliothèque non chargée Mais comment télécharger la bibliothèque à nouveau?

Ou ce sujet: dyld: Bibliothèque non chargée Mais comment savoir installer nom? Qu'est-ce que @rpath?

29
demandé sur Community 2013-12-08 20:05:21

4 réponses

J'ai résolu ce problème avec "Embedded binaires" dans les paramètres généraux du projet.

29
répondu Karsten 2014-11-20 11:22:43

J'ai résolu ce problème en modifiant les paramètres suivants

Allez dans Project Setting Your_Target- > General - >Embedded binaires - > cliquez sur le bouton + et ajoutez votre bibliothèque ici

9
répondu Hemant Makar 2016-04-18 07:39:39

Comment je l'ai corrigé:

  1. libCore.so est une bibliothèque de cadre racine , Qui MyProg utilise.
  2. Si je comprends bien, le message Library not loaded: @rpath/libCore.so Referenced from: /Volumes/MyProg Reason: image not found signifie que linker a trouvé la bibliothèque, mais ne peut pas l'utiliser.
  3. racine, lors de l'installation utilise clang par défaut. Pendant ce temps, comme je préfère gcc et MyProg utilise gcc.
  4. J'ai réinstallé root avec le compilateur gcc:

    ./ configure --with-CXX=g++ --with-cc=gcc --with-LD = g++

  5. J'ai recompilé MyProg.

Et maintenant je peux le déboguer avec gdb.

6
répondu klm123 2013-12-12 13:04:51

Vous pouvez trouver plus d'informations sur rpath ici: lien

Vous devez donc pointer le chemin vers votre libCore.so, mais honnêtement, je n'ai pas fait face à cette bibliothèque, donc je ne sais pas où se trouve-t-elle.

Vous pouvez également vérifier cette réponse pour comprendre ce que c'est rpath: answer

1
répondu Matrosov Alexander 2017-05-23 12:34:28