J'ai utilisé gdb normalement jusqu'à cette semaine. Maintenant en cours d'exécution de 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:
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 inutiles pour moi.
Par exemple, cette rubrique: la bibliothèque de problèmes de dyld n'est pas chargée Mais comment télécharger à nouveau la bibliothèque?
Ou ce sujet: Dyld: bibliothèque non chargée Mais comment trouver le nom d'installation? Quel est @rpath
?
Comment je l'ai corrigé:
libCore.so
est une bibliothèque de ROOT framework , que MyProg
utilise.Library not loaded: @rpath/libCore.so Referenced from: /Volumes/MyProg Reason: image not found
signifie que l'éditeur de liens a trouvé la bibliothèque, mais ne peut pas l'utiliser.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.
J'ai résolu ce problème avec "Binaires intégrés" 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 Binaries-> Cliquez sur le bouton + et ajoutez votre bibliothèque ici
Vous pouvez trouver plus d'informations sur rpath ici: link
Vous devez donc indiquer le chemin vers votre libCore.so, mais honnêtement, je n'ai pas fait face à cette bibliothèque, donc je ne sais pas où elle se trouve.
Vous pouvez également vérifier cette réponse pour comprendre de quoi il s'agit rpath: réponse