Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1691 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Compilation - Importance de l'ordre des libraries dans une liste

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Compilation - Importance de l'ordre des libraries dans une liste

n°1042977
nathan_g
Posté le 11-04-2005 à 14:34:09  profilanswer
 

Bonjour,
 
J'essayae de compiler un programme avec pgCC.
J'en suis à l'édition de liens et je viens de me rendre compte d'un problème.
 
Si j'écris :
 

Code :
  1. pgCC monexec -L/chemin/lib -lfich1 -lfich2


 
Tous semble fonctionner. Les libraries libfich1.a et libfich2.a sont trouvées dans le répertoire /chemin/lib et ajoutées. En l'occurence une fonction fonct (retournand un void) utilisée dans libfich1.a se trouve définies dans libfich2.a .
 
Par contre, si je tente :
 

Code :
  1. pgCC monexec -L/chemin/lib -lfich2 -lfich1


 
La compilation s'arrête et un message d'alerte me prévient que la fonction fonct qui est utilisée dans libfich1 n'a pas été trouvée (alors qu'elle est bien  définie dans libfich2).
 
Je suis étonné de ce comportement car je croyais que l'ordre des libraries déclarée n'avait pas d'importance. Est ce que je me serais trompé ? Dois on respecter un ordre précis pour cette liste ou bien n'y a t-il normalement pas d'importance ? (En gros, est ce que derrière mon problème, il n'y aurait pas qqch de plu grave ?).
 
D'avance merci de votre réponse à cette petite question !

mood
Publicité
Posté le 11-04-2005 à 14:34:09  profilanswer
 

n°1043072
Tarabiscot​e
Posté le 11-04-2005 à 15:20:48  profilanswer
 

Ben maintenant tu sais que l'ordre est important :)

n°1043277
Lam's
Profil: bas.
Posté le 11-04-2005 à 17:51:29  profilanswer
 

nathan_g a écrit :

Je suis étonné de ce comportement car je croyais que l'ordre des libraries déclarée n'avait pas d'importance. Est ce que je me serais trompé ? Dois on respecter un ordre précis pour cette liste ou bien n'y a t-il normalement pas d'importance ? (En gros, est ce que derrière mon problème, il n'y aurait pas qqch de plu grave ?)


Avec certaines version de ld, sur certains systèmes, l'ordre est primordial: on doit lister les librairies dans leur ordre de dépendences ( A dépend de B et C, et B dépend de D, donc on a : -lA -lB -lC -lD ou bien -lA -lB -lD -lC).  
 
Dans le cas où on ne peut pas s'en sortir comme ça (A dépend de B et B dépend de A), on utilise une des 2 vieilles gruges enseignée dans les meilleurs dojos:
- soit on fout tout dans le même librairie et on exécute ranlib dessus.
- soit on utilise -lA -lB -lA comme ligne de compil.  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Compilation - Importance de l'ordre des libraries dans une liste

 

Sujets relatifs
Problème de compilation sur visaul C++Dans une requête, ajouter un champ "ordre" qui s'incrémente
erreur a la compilation comprend pas ??probleme de compilation
Selectionner un élément d'une liste de choixProblème liste chainée
JOptionPane --> erreur à la compilation[ACCESS] liste de DLL
ACCESS : zone de liste déroulante : ne plus pouvoir écrire ? 
Plus de sujets relatifs à : Compilation - Importance de l'ordre des libraries dans une liste


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR