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

  FORUM HardWare.fr
  Programmation
  C

  [Problème] Static linking dans un makefile

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Problème] Static linking dans un makefile

n°1780261
Vel-Ryphon
Posté le 30-08-2008 à 00:22:59  profilanswer
 

Salut,

 

J'ai compilé XviD sous windows via MSys (émulateur de shell linux), tout s'est bien passé, j'ai obtenu :
- xvidcore.a    (librairie de liens statiques j'imagine)
- xvidcore.dll.a (librairie de liens dynamiques, donc...)
- xvidcore.dll (exécutable dynamique)

 

Après cela je souhaite compiler REVEL (layer open source pour encoder en XviD en un minimum d'appel).
Ce que je souhaite, c'est généré une librairie statique de REVEL, contenant le code statique de REVEL mais aussi celui de XviD.
Pour cela, il faut que REVEL soit linké en static, donc.
Pourtant, j'ai beau cherché et essaé des trucs, il me génère constamment une bibliothèque dynamique.

 

Dans le makefile de REVEL, je ne retrouve la référence à xvidcore que sous la forme -lxvidcore, c'es tà dire sous l'a forme d'une librairie à utiliser pour le linkage.
Après avoir compilé XVID, j'ai bien vérifié que les seuls éléments présents dans mon système étaient xvidcore.a, c'est à dire la version statique de xvidcore (ce fichier fait 500 Ko, contre 7 ko pour xvidcore.dll.a, ce qui me conforte dans l'idée que c'est bien la version statique).

 

Pourtant, lorsque je compile mon programme en appelant revel.a pour le linkage, il me sort des undefined reference sur des fonctions du package xvidcore.
Pourquoi ? lol

 

J'ai même fait le test de cleaner ma compil xvid, cad de tout virer, plus une trace de librairie xvid ni quoi que ce soit. Et là, stupéfait, la compil de REVEL se fait correctement...pourtant il devrait avoir besoin de xvidcore.a (cf makefile).

 

J'avoue que je n'ai aucune idée de comment fonctionne un makefile, j'ai lu brièvement quelques tutoriaux, mais ça m'a paru bien compliqué. Donc là je désespère lol

 

Si quelqu'un à la réponse à mon problème, je le remercie d'avance !!


Message édité par Vel-Ryphon le 30-08-2008 à 00:25:18

---------------
http://www.ryphon-mechanics.com
mood
Publicité
Posté le 30-08-2008 à 00:22:59  profilanswer
 

n°1780331
Vel-Ryphon
Posté le 30-08-2008 à 14:32:58  profilanswer
 

C'est bon j'ai résolu mon problème, il provenait de l'autre de déclaration des lib à utiliser -_-.
 
Au lieu de :
-lxvidcore
-lrevel
 
 
Il fallait :
-lxvidcore
-lrevel
 
Allez savoir pourquoi, ça me paraissait plus logique d'appeler d'abord xvidcore.a, puisque revel en dépend...


---------------
http://www.ryphon-mechanics.com

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

  [Problème] Static linking dans un makefile

 

Sujets relatifs
supprimer caractère unicode invalideprobléme avec fonction if dans oracle forms
Problème argument par défaut statiqueProblème d'affichage perl
Script bash - Problème d'espace dans une variable RESOLU[Javascript] Problème liste déroulante et jquery
Probleme controle Word via Excelprobleme de tableau sous internet explorer
[php/mysql] Eviter un probleme dont je ne sais nommerSSAS - Problème avec des conversions de durées
Plus de sujets relatifs à : [Problème] Static linking dans un makefile


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