linkage pour librairie linux [C] - C - Programmation
Marsh Posté le 03-04-2005 à 11:54:47
loloA5 a écrit : Bonjour, |
Est-ce que cette application "coriander" fait appel à une librairie particulière ?
Télécharge le document http://fr.lang.free.fr/cours/Gener [...] t_v1.0.doc il explique en p. 9 comment et pourquoi créer une librairie
Marsh Posté le 03-04-2005 à 15:37:46
oui il appelle la libraire libdc1394 libraw1394, que j ai installé.
donc selon toi je peux faire include des points donc?
Merci pour la doc
Marsh Posté le 03-04-2005 à 20:42:49
A mon avis, comme ça marche à la compilation mais pas à l'exécution c'est que ton pgm fait appel à une librairie dynamique (chargée lors de son appel et non lors de la compilation)
Vérifie si ta variable "LD_LIBRARY_PATH" contient bien le chemin permettant d'accéder aux librairies de "coriander"
Marsh Posté le 14-04-2005 à 15:46:04
loloA5 a écrit : |
Attention à l'abus de language: un driver et une library ne sont pas la même chose
loloA5 a écrit : |
Sve@r a écrit : A mon avis, comme ça marche à la compilation mais pas à l'exécution c'est que ton pgm fait appel à une librairie dynamique (chargée lors de son appel et non lors de la compilation) |
il faut utiliser la commande ldd qui permet de connaitre les libraries utilisées par un executable
Marsh Posté le 03-04-2005 à 11:22:23
Bonjour,
Je suis en train de dévelloper une librairie c pour linux (libmalib.so). Il agit d un driver de camera firewire sous linux. Je souhaite utilisé des fonctions déjà existantes dans une application coriander. Lorsque j'ai installé cette appli (fonctionne parfaitement), au niveau des sources, il est apparu tous les fichiers .o que je souhaite utiliser.
j' ai récupéré tous les fichiers c, h et o de coriander pour les mettre dans mon repertoire de travail.
Donc je me dit qu'il est possible de créer ce driver en appelant dans mon fichier c, tous les fichiers .h de coriander.
Chose faite, compilation nickel mais a l execution, le premier appel fonction coriander lance une erreur du type fonction non reconnue.
Je me suis dit en incluant les points o coriander a la compile il ferait le lien, donc compliation ok, mais a l execution, après divers appels a des fonctions de la librairie deja installer libdc1394 appelés par des fonctions de coriander, je recois une erreur de type fonction non reconnue (pourtant existante dans libdc).
Dois je repasser par la recompliation des fichiers utiles de coriander ou je peux faire ça comme ça?
Je suis un peu novice en création de librairie et linkage, si quelqu un a des pistes a me donner cela serait sympa
Merci par avance
Message édité par loloA5 le 03-04-2005 à 11:24:01