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

Visual C++ Discussion :

Pb de compilation lors de la création d'une DLL


Sujet :

Visual C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 48
    Points : 31
    Points
    31
    Par défaut Pb de compilation lors de la création d'une DLL
    Bonjour,

    J'avais le code d'une DLL sous VC6. je recompile la même DLL sous VS2005, et j'ai l'erreur ci dessous.
    Si je rajoute l'option /NODEFAULT j'ai alors plein d'erreurs sur les entrées de la LIB.

    1>LINK : warning LNK4098: conflit entre la bibliothèque par défaut 'LIBCMT' et les autres bibliothèques*; utilisez /NODEFAULTLIB:libraryA la fin, j'ai ma DLL, mais lorsque je la passe à "Depency Walker", j'ai les erreurs suivantes :
    - MSJAVA.DLL le fichier est introuvable
    - MPR.DLL : Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

    Je précise que avec ma DLL compilé sous mon ancien systeme, je n'avais pas ces pb de dépence.

    Si vous avez une idée ?? Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Points : 542
    Points
    542
    Par défaut
    Je n'ai pas bien compris :

    tu as supprimé toutes les libs par défaut ou juste LIBCMT ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 17
    Points : 17
    Points
    17
    Par défaut
    Ouvre la fenêtre des propriétés de ton projet, puis dans C/C++ -> Code Generation, tu as une option qui s'appelle Runtime Library.

    Essaye de compiler en version DLL et non DLL. Généralement si cette option ne correspond pas à la manière dont tes dépendances ont été compilées, ça provoque le genre d'erreurs que tu as.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 48
    Points : 31
    Points
    31
    Par défaut ..
    Bonjour,

    Merci pour les aides.
    J'ai donc compilé en version "Hériter des paremetres par défaut du parent ou du projet" et donc j'ai l'option "Multithread /MT", et je n'ai plus le warning de compilation.
    Par contre, j'ai toujours les erreurs lorsque je la passe ma DLL à "Depency Walker:
    - MSJAVA.DLL le fichier est introuvable
    - MPR.DLL : Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

    Si vous avez une autre idée? Merci.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 48
    Points : 31
    Points
    31
    Par défaut ...
    Bonjour,

    Pour MSJava.dll, j'ai téléchargé la DLL et c'est OK. Par contre je me demande à quoi cela peut-il bien servir dans mon projet (DLL en Win32 ???).
    Pour le point d'entré de MPR.DLL, il s'agit de la fonction "WNetRestoreConnection" avec le message suivant :
    "Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
    "

    Si vous avez des idées sur ce deux points
    - Pourquoi avoir besoin de la DLL MSJAVA.DLL ?
    - Dans MPR.DLL, le point d'entré "WNetRestoreConnection" pose pb ?

    Merci.

  6. #6
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Bonjour,

    Citation Envoyé par Annaced
    Si vous avez des idées sur ce deux points
    - Pourquoi avoir besoin de la DLL MSJAVA.DLL ?
    Parceque la DLL qui est fourni avec Windows n’est pas la même version que celle que tu utilises.

    Citation Envoyé par Annaced
    - Dans MPR.DLL, le point d'entré "WNetRestoreConnection" pose pb ?
    Il y a un problème entre le .h la lib et la dll qui ne doivent pas être de la même version.
    Je n'ai pas trop compris quand survenait ton problème ?
    A l’édition des liens ou à l'exécution ?

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 3
    Points : 2
    Points
    2
    Par défaut j'ai aussi ce problème!!!
    Bonjour,

    Je travail sur un projet en C++ (sur Microsoft Visual C++ 2008 Express Edition).

    Celui ci ne marche QUE sur mon ordinateur... et j'ai donc utilisé Dependency Walker pour déterminer quelles bibliothèques manquaient au projet afin qu'il puisse fonctionner sur d'autres ordinateurs n'ayant pas Visual C++.

    Moi aussi j ai eu le soucis de MSJAVA.DLL , qui est réglé.


    Concernant MPR.DLL, sur mon projet c'est "WNetRestoreConnectionA" qui est rouge et je n'ai aucune idée de pourquoi.

    Je précise que ceci se ressent sur mon ordinateur (ayant Visual C++) comme sur un autre où j'ai essayé (ce second n'ayant pas Visual C++ et où mon exécutable ne marche pas).Sur ce second ordinateur, que j'utilise donc pour tester la portabilité de mon projet (actuellement nulle...), j'ai aussi un message d'erreur (en plus du premier message de warning concernant MPR.DLL):

    Error: The Side-by-Side configuration information for "g:\pfd\project\main\PFD.EXE" contains errors. Cette application n'a pas pu démarrer car la configuration de l'application est incorrecte. Réinstaller l'application pourrait résoudre ce problème (14001).
    J'ai mis en pièce jointe une impression d'écran de ce que me donne Dpendency Walker.

    Auriez vous une idée de ce qui va pas, et comment résoudre ce soucis?

    Merci d'avance,
    Damien
    Images attachées Images attachées  

  8. #8
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 366
    Points : 5 382
    Points
    5 382
    Par défaut
    Erreur classique !!! tu as compilé ton projet en Debug !!! Si tu veux qu'il marche ailleurs, compile en Release. Et le cas échéant, n'oublies pas d'installer les redistribuable VC++ 2008.

    MSJAVA et MRP, faut oublier ces erreurs dans depends.

  9. #9
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Effectivement cela provient souvent des redistribuables. Attention, il y a aussi le SP1 et l'ATL pour le 2008.

    Il peut y avoir des liens rouges dans Dependency Walker et avoir l'application qui se lance.

Discussions similaires

  1. Erreur LNK2019 lors de la création d'une DLL
    Par Orhleil dans le forum Visual C++
    Réponses: 2
    Dernier message: 10/12/2011, 02h03
  2. Réponses: 11
    Dernier message: 05/08/2009, 13h30
  3. Problème lors de la création d'une DLL?
    Par zuzuu dans le forum Windows
    Réponses: 6
    Dernier message: 04/10/2007, 11h26
  4. [DB2]Eurreur lors de la création d'une procédure
    Par uaspecitmoon dans le forum DB2
    Réponses: 1
    Dernier message: 25/05/2005, 20h23
  5. message d'erreur lors de la création d'une base
    Par franculo_caoulene dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 16/04/2004, 16h47

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