IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

MSVC2005 : Compilation d'un .lib donne 1Go


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut MSVC2005 : Compilation d'un .lib donne 1Go
    Bonjour à tous,


    J'ai une librairie statique d'utilitaire qui possède une dizaine de classe, après compilation j'obtient un fichier .lib de 10mo

    J'ai une seconde librairie statique de gestion qui utilise la première et qui possède une 10/15 classes, le .lib fait également 10mo

    Par contre, j'ai une troisième librairie statique qui utilise la seconde, qui elle possède 55 classes métiers, le .lib généré fait près d'1Go.. 963Mo plus exactement.

    Du coup je me retrouve souvent avec des erreurs de link
    fatal error LNK1106: fichier non valide ou disque plein*: impossible de rechercher sur 0x2E9D3B9F
    Dans les options de compilation, j'ai laissé par défaut en Release.

    Est-ce que ça peut être le fait que toutes mes classes de la troisième librairie héritent de classes template de la seconde ? Pour une classe métier, le compilateur va générer 3 classes supplémentaires.
    Mais ça fait 4 * 55 = 220 classes, qui sont en générale assez petite, ça fait beaucoup 1Go pour ça nan ?

    J'utilise également une hiérarchie éparpillée qui va faire dériver une classe de mes 55 classes métiers + une classe de singleton.


    Je peux faire quelque chose ?


    Merci,

    A bientôt

  2. #2
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Ajoutes-tu d'autres librairies de manière statique à ton projet? Genre les MFC?

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Par défaut
    Combien de lignes de code au total ? Parce que 1Go c'est énorme pour un .lib, ce n'est pas quelques centaines de classes qui vont générer un fichier aussi gros, sauf ci elles ont plusieurs millions de lignes de code chacune, si elles utilisent des grands tableaux statiques, ou si inline est utiliser à tout bout de champs.

  4. #4
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    Déjà 10Mo pour une dixaine de classes, ça me parait énorme...

    Ya l'utilisation massive de templates d'autres lib (par exemple boost) qui peut grossir ta lib, l'inclusion d'autres lib comme dit précédemment...

    1Go... a mon avis ya un problème quelque part...

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    J'ai essayé de retirer l'option /Zi, qui génère une base de donnée du programme. J'ai baissé de 100Mo à peut prêt et les deux p'tites lib de 1Mo

    Sinon comme librairie, j'utilise xerces 2.8 seulement dans la troisième c'est tout.
    J'ai pas mon projet sous les yeux là, mais dès que je reviens en France je vous détaillerai ce que j'ai.

    J'essayerai également de faire un nouveau projet, relaisser tout par défaut, et intégrer mes classes voir si c'est pas moi qui ai modifié une option du compilateur par mégarde, mais bon, j'avais déjà créé un projet vide et m'étais basé dessus pour remettre toutes les options par défaut...


    Merci

  6. #6
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    Quel type de projet exactement?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compiler une base de données
    Par ramanov dans le forum Bases de données
    Réponses: 1
    Dernier message: 13/02/2008, 21h57
  2. Compilation WLANAPI (msxml6.lib)
    Par BVCDX dans le forum Windows
    Réponses: 2
    Dernier message: 12/04/2007, 18h29
  3. Réponses: 6
    Dernier message: 28/03/2007, 19h40
  4. Compilation avec une lib partagée
    Par GLDavid dans le forum Linux
    Réponses: 3
    Dernier message: 26/07/2006, 15h13
  5. [Tomcat]Compiler avec les libs
    Par javaSudOuest dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/09/2005, 20h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo