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 :

VC++6.0 --> VC++2005, lib:mfcs80d.lib


Sujet :

Visual C++

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut VC++6.0 --> VC++2005, lib:mfcs80d.lib
    Bonjour,

    Je porte un projet de VC6 à VC2005, et j'ai un petit probleme, quand je compile en debug, j'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mfcs80d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in ProjEom.obj
    Si j'exclus mfcs80d.lib de la compilation via les options(Link/Input/Ignore Library), j'obtiens de nombreuses erreurs du au fait qu'il ne trouve plus certaines fonctions windows.

    J'ai regarde dllMain est bien definit mais ca a l'air normal, je vois pas trop d'ou ca peut venir.

    Merci.

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    que contient ProjEom ?
    il te dit qu'il est deja definit dans ce module .

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    C'est bien un projet DLL MFC que tu cherches à faire?
    • Une MFC Regular DLL n'a pas de DllMain(), car elle utilise celui de MFC.
    • Une MFC Extension DLL en a un.

    Cette erreur apparait souvent quand on compile une DLL d'extension en tant que DLL régulière.

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut
    Salut,

    Oui oui, c'est une DLL:
    Configuration type: Dynamic library(.dll)
    Use of MFC: Use MFC in shared DLL

    Et sinon apparemment l'erreur apparait si je corrige le probleme precedent:
    http://www.developpez.net/forums/sho...d.php?t=236504

    Si je n'inclus pas le fichier afxwin.h, ca passe sans probleme sauf pour les CStrings forcement.

    Sinon: le fichier ProjEom.cpp contient bien la definition de dllMain, mais c'est normal ca c'est fait automatiquement lors de la creation du projet sous VC6.0.

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Hum...
    Je pense que tu n'aurais pas dû créer ta DLL ainsi.
    Je crois que tu peux faire des MFC Regular DLL sous Visual 6 avec le type de projet MFC AppWizard (DLL)

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut
    Aïe...
    Possible, mais en fait ce n'est pas moi qui es cree le projet,
    Celui-ci existait et avait ete developper sous VC6, et on a decide de migrer les projets vers VC2005.

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    afxwin.h est utilisé pour une dll d'extension MFC ...
    est ce que tu as bien _AFXEXT dans les directives de ton projet ?
    (a priori : _WINDLL,_AFXDLL,_AFXEXT )


  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 646
    Points : 240
    Points
    240
    Par défaut
    Apparement ca passe pas non plus, mais il doit surement s'agir d'une bete options.
    enfin c'est pas grave(enfin...) car je vien de m'apercevoir que l'on utilise les ... tada... stream, les anciens(<iostream.h> au lieu de <iostream>) et du coup de toute facon j'arriverai pas a compiler, j'avais deja ces erreurs mais comme je corrigeai dans l'ordre...
    du coup ce projet restera sous VC6 jusqu'a nouvel ordre... tant pis

    En tout cas merci pour l'aide, c'est cool!

  9. #9
    Nouveau membre du Club
    Inscrit en
    Septembre 2004
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 28
    Points : 28
    Points
    28
    Par défaut
    J'ai eu le même problème sous vstudio 2005 pour une dll dynamique avec MFC chargé dynamiquement. J'obtenais le message "_DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)".Je ne comprends pas vraiment comment le pb est arrivé mais j'ai réussi à enlever l'erreur en ajoutant "mfcs80d.lib" dans les dépendances supplémentaires dans l'éditeur de lien même si ça ne m'explique pas clairement le pb (qui vient de l'ordre de chargement entre MSVCRTD.lib et mfcs80d.lib, mais quant à savoir comment cet ordre s'est mystérieusement inversé pendant le développement du projet), ça recompile à nouveau...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 38
    Points : 64
    Points
    64
    Par défaut
    Ca a marché aussi pour moi. Pareil, j'ai getté une nouvelle fournaison de .lib et .dll de notre projet et d'un coup, le link s'est brisé. C'est assez incompréhensible.

    Merci pour le tips en tout cas.

    Alexis.

Discussions similaires

  1. atlthunk.lib et vcexpress 2005
    Par drpark dans le forum Visual C++
    Réponses: 10
    Dernier message: 04/09/2012, 14h35
  2. Libcmt.lib, msvcrt.lib et "Utilisation des MFC"
    Par vdaanen dans le forum Visual C++
    Réponses: 6
    Dernier message: 23/10/2009, 11h44
  3. Bibliothèques compilées (.lib) : *-sgd-*.lib ?
    Par oodini dans le forum Boost
    Réponses: 1
    Dernier message: 12/08/2008, 16h41
  4. importer lib compilée en c dans projet c++ express 2005
    Par drpark dans le forum Visual C++
    Réponses: 5
    Dernier message: 25/07/2006, 15h21
  5. Réponses: 7
    Dernier message: 11/11/2005, 12h51

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