Problème de compilation [génération d'une bibliothèque]


Précédent   Bladi.net > Loisirs & Entraides > Informatique


Réponse
 
Outils de la discussion Modes d'affichage
  #1  
Vieux 30/08/2007, 14h28
Avatar de turbo_chess
3ich w'ma t7dich ........
 
Date d'inscription: mai 2005
Messages: 5 271
Par défaut Problème de compilation [génération d'une bibliothèque]

Salam,

je ne suis pas sur le bon forum, mais bon ....

c'est un projet en c/c++.

Mon but est de générer une bibliothèque, je la nomme par exemple : libprogram_main.a

dans mon fichier makefile , j'utilise une règle :

DYN_LIBS = -llib_numa -lib_numb

quand j'essaie d'exécuter le make, j'ai un problème de compilation.

Après une recherche approfondie, j'ai constaté que les deux libs -llib_numa -lib_numb ont deux fichiers edy_echange.h et edy_echange.c propre à chacun d'eux.

c'est pour ça qu'il y a une confusion.

NB : il y a pas moyen que je change rien, c'est un travail de long haleine.

merci

wa salam
__________________
la vie n\'est que passagère !!
Réponse avec citation
  #2  
Vieux 30/08/2007, 14h43
Avatar de forresterB
 
Date d'inscription: septembre 2006
Messages: 2 990
Par défaut Re : Problème de compilation [génération d'une bibliothèque]

Citation:
Envoyé par turbo_chess Voir le message
Salam,

je ne suis pas sur le bon forum, mais bon ....

c'est un projet en c/c++.

Mon but est de générer une bibliothèque, je la nomme par exemple : libprogram_main.a

dans mon fichier makefile , j'utilise une règle :

DYN_LIBS = -llib_numa -lib_numb

quand j'essaie d'exécuter le make, j'ai un problème de compilation.

Après une recherche approfondie, j'ai constaté que les deux libs -llib_numa -lib_numb ont deux fichiers edy_echange.h et edy_echange.c propre à chacun d'eux.

c'est pour ça qu'il y a une confusion.

NB : il y a pas moyen que je change rien, c'est un travail de long haleine.

merci

wa salam
Est ce que tu peux ne donner l'erreure exacte?
Réponse avec citation
  #3  
Vieux 30/08/2007, 14h44
Avatar de turbo_chess
3ich w'ma t7dich ........
 
Date d'inscription: mai 2005
Messages: 5 271
Par défaut Re : Problème de compilation [génération d'une bibliothèque]

Citation:
Envoyé par forresterB Voir le message
Est ce que tu peux ne donner l'erreure exacte?
salam,

je l'ai posté sur developpez , merci akhi

http://www.developpez.net/forums/sho...d.php?t=403193

wa salam
__________________
la vie n\'est que passagère !!
Réponse avec citation
  #4  
Vieux 30/08/2007, 15h05
Avatar de forresterB
 
Date d'inscription: septembre 2006
Messages: 2 990
Par défaut Re : Problème de compilation [génération d'une bibliothèque]

Citation:
Envoyé par turbo_chess Voir le message
salam,

je l'ai posté sur developpez , merci akhi

http://www.developpez.net/forums/sho...d.php?t=403193

wa salam
Je ne veux pas creer un compte sur developpez.net alors je te reponderais ici

Tout ce que je sais de la programation c'est que quand ca devient complique, cela veut dire que t'as choisi la mauvaise solution. Tout deverait etre simple

Ma question est: dans les deux libriries, est ce que c'est un namespace, class, ou des simples fonctions?

Parce que si c'est des namespace ou des class, tu peux appeller les fonctions de la facon suivante:

MonNamespace::MaFonction ou lieu de MaFonction tout court. Et cela va resoudre ton probleme de linkage

Réponse avec citation
  #5  
Vieux 30/08/2007, 15h15
 
Date d'inscription: avril 2007
Âge: 43
Messages: 27
Par défaut Re : Problème de compilation [génération d'une bibliothèque]

A mon avis l'erreur "Undefined Symbol" n'est pas produite pour cause de redéfinition, mais plutot lorsqu'il manque une librairie. Tu es sur qu'il ne manque pas un -lgw ou qlq chose comme ca ?
Réponse avec citation
  #6  
Vieux 30/08/2007, 15h39
Avatar de turbo_chess
3ich w'ma t7dich ........
 
Date d'inscription: mai 2005
Messages: 5 271
Par défaut Re : Problème de compilation [génération d'une bibliothèque]

Citation:
Envoyé par forresterB Voir le message
Je ne veux pas creer un compte sur developpez.net alors je te reponderais ici

Tout ce que je sais de la programation c'est que quand ca devient complique, cela veut dire que t'as choisi la mauvaise solution. Tout deverait etre simple

Ma question est: dans les deux libriries, est ce que c'est un namespace, class, ou des simples fonctions?

Parce que si c'est des namespace ou des class, tu peux appeller les fonctions de la facon suivante:

MonNamespace::MaFonction ou lieu de MaFonction tout court. Et cela va resoudre ton probleme de linkage

; )
le problème comme j'ai expliqué sur le forum de developpez, je ne peux pas modifié les deux librairies, je les utilisent seulement.

le problème que les deux libraries ne peuvent pas cohabiter ensemble.

le gars sur developpez m'a fait rire, il m'a dit de lui donner le makefile, il ne veut pas par hasard le projet
__________________
la vie n\'est que passagère !!
Réponse avec citation
  #7  
Vieux 30/08/2007, 15h40
Avatar de turbo_chess
3ich w'ma t7dich ........
 
Date d'inscription: mai 2005
Messages: 5 271
Par défaut Re : Problème de compilation [génération d'une bibliothèque]

Citation:
Envoyé par okba41 Voir le message
A mon avis l'erreur "Undefined Symbol" n'est pas produite pour cause de redéfinition, mais plutot lorsqu'il manque une librairie. Tu es sur qu'il ne manque pas un -lgw ou qlq chose comme ca ?
je t'assure qu'il manque rien

il y a une option dans certains linkers qui permet la double définition des symboles ???
__________________
la vie n\'est que passagère !!
Réponse avec citation
  #8  
Vieux 30/08/2007, 16h15
Avatar de forresterB
 
Date d'inscription: septembre 2006
Messages: 2 990
Par défaut Re : Problème de compilation [génération d'une bibliothèque]

Citation:
Envoyé par turbo_chess Voir le message
le problème comme j'ai expliqué sur le forum de developpez, je ne peux pas modifié les deux librairies, je les utilisent seulement.

le problème que les deux libraries ne peuvent pas cohabiter ensemble.

le gars sur developpez m'a fait rire, il m'a dit de lui donner le makefile, il ne veut pas par hasard le projet
Le makefile peut etre un probleme si tu passe pas les bons arguments. Je suis d'accord avec lui.

ld a des options qui permet de faire plein de chose. Je te conseil de consult le man pages de ld.

Bonne chance!
Réponse avec citation
  #9  
Vieux 30/08/2007, 16h17
 
Date d'inscription: avril 2007
Âge: 43
Messages: 27
Par défaut Re : Problème de compilation [génération d'une bibliothèque]

ld -z muldefs ......
indique au linker d'accepter les multi-definitions

n'oublie pas aussi que : -lxyz indique au linker d'allez chercher la librairie libxyz.a ou libxyz.so
donc si tu fais -llib_numa ou -llib_numb, en fait les librairies cherchées seront: liblib-numa.a ou liblib_numa.so et liblib_numb.a ou liblib_numb.so
si ces fichiers ont plutot des noms comme : lib_numa.* et lib_numb.* il faudrait alors utiliser : -l_numa et -l_numb

bon courage!
Réponse avec citation
  #10  
Vieux 30/08/2007, 16h20
Avatar de forresterB
 
Date d'inscription: septembre 2006
Messages: 2 990
Par défaut Re : Problème de compilation [génération d'une bibliothèque]

Citation:
Envoyé par turbo_chess Voir le message

je t'assure qu'il manque rien

il y a une option dans certains linkers qui permet la double définition des symboles ???
Il faut accepter le fait que tu peux faire une erreure sinon pourquoi ca ne marche pas? c'est parce qu'il manque quelque chose
Réponse avec citation
Réponse

Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

BB code is oui
Les smileys sont activés : oui
La balise [IMG] est activée : non
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
Problème de profil sur Mozilla Firefox lizzie911 Informatique 8 14/06/2007 06h30
Problème de Webcam thebestking Informatique 1 15/02/2006 00h10
problème de webcam. thebestking Informatique 0 11/02/2006 16h38
problème de webcam thebestking Informatique 0 11/02/2006 16h33
Problème wifi zin-ette Informatique 18 14/01/2006 14h15



Fuseau horaire GMT +2. Il est actuellement 22h11.


.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33