Impossible d'ouvrir le fichier d'objet partagé: aucun fichier ou répertoire de ce type; Exécution ou débogage dans Eclipse
Sur Ubuntu, j'ai un C++ application dans Eclipse. L'application compile très bien et je peux exécuter l'application à partir de la ligne de commande.
Mais quand j'essaie de le corriger ou de l'exécuter avec Eclipse, le erreur :
"Cannot open shared object file: No such file or directory"
est jeté sur une bibliothèque partagée.
J'ai mis LD_LIBRARY_PATH dans mon fichier bashrc et également définir une variable d'environnement LD_LIBRARY_PATH à la veille de la Configuration et Configuration de Débogage :
/home/behlingb/Documents/api_libs/FileGDB_API/lib
Quoi d'autre qui me manque ici pour obtenir de l'Éclipse pour exécuter ce?
Mise à JOUR
Il y a un seul fichier objet partagé cette application nécessite, et que le fichier est à partir d'un 3ème partie de l'API de téléchargement. J'ai juste trouvé que si je place l'objet partagé à l'intérieur du répertoire de l'exécutable est dans, il va de débogage dans Eclipse. Est-il un moyen de spécifier un autre répertoire, alors je n'ai pas de copie du fichier pour chaque projet?
source d'informationauteur user714157 | 2013-01-21
Vous devez vous connecter pour publier un commentaire.
Je suis en utilisant le Kepler version d'Eclipse.
Si vous avez défini
LD_LIBRARY_PATH
et ça ne fonctionne pas. Fermer Eclipes et de l'exécuter à partir de la commande de terminal. J'ai accidentellement trouvé que cela pourrait le faire fonctionner. Pas sûr de la raison, mais sans doute quelque chose à voir avec Eclipes d'initialisation.vous pouvez utiliser
strace
utilitaire (et puisgrep
pouropen
et/oustat
appels) pour obtenir la liste des .si les fichiers requis pour exécuter qch, puis utilisezlocate
(ou de trouver parmi les paquets) pour trouver l'emplacement réel de la nécessaire libSelon ce que @zuafi suggéré , vous n'avez pas à grep pour les bibliothèques et les "localiser" pour les trouver.
Au lieu d'enregistrer strace la sortie vers un fichier:
puis ouvrez le fichier, où vous pouvez voir
faites défiler vers le bas de ces lignes jusqu'à ce que vous frappez
cela signifie avant de trouver
/real/path/to/some/library.so
il y a eu plusieurs essais pour trouverlibrary.so
dans des chemins différents. mais enfin, la bibliothèque a été trouvé dans/real/path/to/some/
.Il suffit de copier et de les coller dans votre Eclipse!
C'est valable avec Eclipse Kepler (je n'ai pas regardé dans les anciennes versions).
Pour activer le débogueur pour charger vos bibliothèques partagées, en essayant de mettre LD_LIBRARY_PATH échouera. Cependant, le CDT plugin fournit un Bibliothèques Partagées liste à cet effet
puis dans la boîte de dialogue configuration de