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

XML Discussion :

[Xalan] Lien statique


Sujet :

XML

  1. #1
    Invité régulier
    Inscrit en
    Décembre 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 17
    Points : 15
    Points
    15
    Par défaut [Xalan] Lien statique
    Bonjour,

    Je suis sur Visual Studio 2005 C++, et je suis en train de compiler un projet avec Xalan.
    Je souhaite que mon exe contienne tout ce dont il a besoin pour marcher, donc j'ai indiqué à VC++ comment trouver les .lib, mais je ne sais pas pourquoi il s'acharne à ne pas les inclure et construit un exe qui attend des dll.

    Effectivement ça marche avec les dll, mais je veux pouvoir l'exécuter sans les dll!

    Est-ce quelqu'un a une idée de pourquoi ça ne marche pas?

    Merci d'avance

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 601
    Points
    188 601
    Par défaut


    Apprendre à se servir du compilateur n'est en général pas inutile . Les LIB, ce sont juste des fichiers d'importation, qui disent où trouver le contenu d'une fonction dans une DLL... à moins d'avoir compilé la bibliothèque en statique, auquel cas ils contiendront tout (un peu à la manière de la boîte de Pandore : vive les ennuis dès qu'on les utilise...).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Invité régulier
    Inscrit en
    Décembre 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Merci pour ta réponse rapide dourouc05!

    Si tu as des liens utiles à me communiquer (sur la msdn ou ailleurs) je suis preneur!

    Mes .lib fournis par Xalan sont à peu près de la même taille que les DLL associées. Je me dis donc qu'elles ne doivent pas être que des fichiers d'importation mais qu'elles doivent bien contenir toutes les fonctions.

    J'ai l'impression de bien les inclure dans mon projet : dans Projet->Propriétés->Linker->Input je les ai spécifiées.
    Comme Xalan fournit ses sources, il faut peut-être que, comme tu dis, je les recompile en statique.

    Comment peut-on savoir si elles sont bien compilées comme il faut pour que je puisse les inclure sans soucis?

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 601
    Points
    188 601
    Par défaut
    Citation Envoyé par johanvs Voir le message
    Mes .lib fournis par Xalan sont à peu près de la même taille que les DLL associées. Je me dis donc qu'elles ne doivent pas être que des fichiers d'importation mais qu'elles doivent bien contenir toutes les fonctions.
    Dans tous les cas, toutes les fonctions y sont : soit simplement un pointeur, soit tout le code. La taille du fichier n'a pas grande importance (en prenant pour exemple les binaires de Qt 4.8.1 pour VC10, on ne voit généralement pas de différence énorme entre LIB et DLL, sauf en débogage).

    Méthode simple et barbare pour distinguer les versions statiques des dynamiques : en statique, tu n'auras aucune occurrence de ".dll" dans le fichier (ouvrir avec Notepad++ ou autre) ; en dynamique, tu en auras un certain nombre (un par fonction exportée, il me semble).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Invité régulier
    Inscrit en
    Décembre 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 17
    Points : 15
    Points
    15
    Par défaut
    Ah oui bien vu. Effectivement il y a plein de références à la DLL dans mon lib. Ça ne pouvait pas marcher.

    Je vais donc tenter de faire cette compilation statique, et sinon je me contenterait de l'utilisation des dll...

    En tous cas merci beaucoup dourouc05!

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

Discussions similaires

  1. Connaitre les liens statique d'un noyau
    Par TheDrev dans le forum Linux
    Réponses: 0
    Dernier message: 19/03/2010, 13h15
  2. édition de liens statique GTK+ / MinGW
    Par mllibre dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 13/11/2008, 13h38
  3. Problème de lien avec une bibliothèque statique
    Par streetpc dans le forum C++/CLI
    Réponses: 2
    Dernier message: 28/10/2006, 17h38
  4. Liens depuis une base de donnée statique
    Par LucG dans le forum Access
    Réponses: 4
    Dernier message: 26/10/2005, 11h12
  5. pb de lien statique sous GCC
    Par manuninho dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 29/06/2004, 12h54

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