Linkage d'une bibliothèque dynamique

Linkage d'une bibliothèque dynamique - C++ - Programmation

Marsh Posté le 12-08-2009 à 09:50:57    

Bonjour a tous.
 
J'essaie en ce moment d'exporter une bibliothèque dynamique de linux (.so) à windows (.dll), je travail avec Qt 4.5 et Visual c++, et je compile avec qmake et nmake release.
Après compilation j'obtiens environs 7.5Go de fichiers objets alors que sous linux le total ne dépasse pas les 110Mo, voici donc ma question.
 
Est ce normal d'obtenir une telle différence entre les deux systèmes ? Y'a t il des options de compilations pour diminuer la taille de ces fichiers ?
 
Merci.

Reply

Marsh Posté le 12-08-2009 à 09:50:57   

Reply

Marsh Posté le 12-08-2009 à 11:05:40    

T'as stripé les symboles de debug et tout ?

Reply

Marsh Posté le 12-08-2009 à 11:35:43    

Comment je peux faire ça sous windows ? Ca pourrait réduire la taille des fichiers obj ça ?

Reply

Marsh Posté le 12-08-2009 à 11:45:21    

Je sais pas si c'est les bonnes commandes mais j'ai testé :

 

nmake clean
nmake -strip
nmake release

 

J'ai essayé aussi :

 

nmake clean
nmake -p release

 

Ca change rien.


Message édité par richou_ le 12-08-2009 à 11:47:58
Reply

Marsh Posté le 12-08-2009 à 16:31:42    

t'as compilé avec -DWIN_LEAN_AND_MEAN -DVC_EXTRALEAN
 
http://www.codeguru.com/forum/showthread.php?t=103433

Reply

Marsh Posté le 12-08-2009 à 18:01:40    

Je viens d'essayer et ça ne change rien par rapport à la taille des objs.

Reply

Marsh Posté le 13-08-2009 à 09:14:15    

J'ai recompilé le tout avec nmake plutot que le compilateur de visual c++, la taille des fichiers objs est passé de 7.5Go à 2.8Go, seulement j'ai maintenant l'erreur suivante :

Code :
  1. fatal error LNK1106: fichier non valide ou disque plein : impossible de rechercher sur 0xD08F16


au moment de l'écriture du fichier exp de ma bibliothèque.

 

Pourtant j'ai Visual Sudio 2008.


Message édité par richou_ le 13-08-2009 à 09:14:43
Reply

Marsh Posté le 25-08-2009 à 11:29:48    

Un petit up.

 

J'ai réussis a réduire la taille à 2.5Go, mais au moment du linkage j'ai une nouvelle erreur :

 
Code :
  1. LINK : fatal error LNK1102: mémoire insuffisante
 

Je compile avec un pc qui possède 2Go de RAM, en mode console.

 

Si quelqu'un a une idée ...

 

Merci.


Message édité par richou_ le 25-08-2009 à 11:30:43
Reply

Marsh Posté le 25-08-2009 à 11:48:50    

T'as fouillé tes objets voir ce qui pesaient autant que ça ?

Reply

Marsh Posté le 25-08-2009 à 12:24:46    

J'ai bien fait un dumpbin /all, /exports et /symbols mais j'avoue que ça m'aide pas. :x

Reply

Marsh Posté le 25-08-2009 à 12:24:46   

Reply

Marsh Posté le 25-08-2009 à 14:21:30    

Y a pas d'équivalent de nm --print-size ? Pour voir symbole par symbole ce qui explose.

Reply

Marsh Posté le 25-08-2009 à 14:37:38    

A priori, il n'y a pas d'équivalent.

Reply

Marsh Posté le 01-09-2009 à 10:20:11    

:bounce:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed