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
?
4 réponses
J'ai résolu ce problème avec "Embedded binaires" dans les paramètres généraux du projet.
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
Comment je l'ai corrigé:
-
libCore.so
est une bibliothèque de cadre racine , QuiMyProg
utilise. - 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. - racine, lors de l'installation utilise clang par défaut. Pendant ce temps, comme je préfère gcc et
MyProg
utilise gcc. -
J'ai réinstallé root avec le compilateur gcc:
./ configure --with-CXX=g++ --with-cc=gcc --with-LD = g++
J'ai recompilé
MyProg
.
Et maintenant je peux le déboguer avec gdb.
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