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++/CLI Discussion :

Fusionner des DLLs ou assemblies mixtes


Sujet :

C++/CLI

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 55
    Par défaut Fusionner des DLLs ou assemblies mixtes
    Bonjour,
    J'ai un projet constitué d'un exécutable et quelques DLLs. Je souhaiterais fusionner tout ça en un seul exécutable, pour faciliter la redistibution. Alors, pourquoi ai-je besoin d'aide ?

    Dans un monde idéal, je lancerais l'utilitaire ILMerge http://research.microsoft.com/~mbarnett/ILMerge.aspx, et cela fonctionnerait. Mais ce n'est pas possible ici.

    Ce n'est pas possible, car certaines de mes DLLs ne sont pas "ILOnly". En effet, elles ne sont pas compilées en /clr:pure mais en /clr. Et si j'utilise ILMerge en lui forçant la main avec /ZeroPeKind, l'exe résultant ne fait rien du tout (ne se lance pas), sans afficher d'erreur.

    Pourquoi mes DLLs ne sont pas en clr:pure ? Je n'ai qu'à mofidier le code ! Certes, certes, mais en réalité, même si tout le code de ma DLL est bien du .NET pur, mais je dois linker avec une bibliothèque native (Quicktime), ce qui empêche le linkage avec /clr:pure (même si la compilation, elle, est ok)

    Alors du coup je sèche un peu... (complètement). Ai-je moyen de m'en sortir ?

    +
    Chacha

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    j'avais déjà vu un billet qui parlait de ca
    regarde là : http://blogs.msdn.com/texblog/archiv...lications.aspx

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 55
    Par défaut
    Citation Envoyé par nico-pyright(c) Voir le message
    j'avais déjà vu un billet qui parlait de ca
    regarde là : http://blogs.msdn.com/texblog/archiv...lications.aspx
    Merci pour le lien... Malheureusement, je n'arrive pas à l'adapter à mon cas. Les manipulations décrites semblent ne marcher que pour du C#. Moi qui suis en C++/CLI, je ne produis pas de fichier .netmodule avec les flags /c /LN et /NOASSEMBLY passés respectivement au compilateur et au linker.
    Qui plus est, mes DLLs dépendent les unes des autres (en arborescence, pas en circulaire!), et ces flags empêchent les parents de compiler. Je me retrouve avec des erreurs dans les headers QuickTime, les types étant alors prétendument déjà définis de façon différente...
    N'y a-t-il pas un moyen comparable à ILMerge, capable de fusionner des DLLs même quand elles sont en CLR et pas CLR:pure ?

Discussions similaires

  1. Réponses: 5
    Dernier message: 29/06/2011, 15h06
  2. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33
  3. Réponses: 27
    Dernier message: 03/02/2003, 12h27
  4. [] [Install] Problème de mise à jour des dll
    Par pepper dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 23/01/2003, 22h34
  5. [] [Excel] Fusionner des cellules
    Par SamyD dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/12/2002, 18h37

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