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

VC++ .NET Discussion :

manque 'mfc42d.lib' sous VC++ 2005 express


Sujet :

VC++ .NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut manque 'mfc42d.lib' sous VC++ 2005 express
    Bonjour,
    Je suis sous VC++ 2005 express, et je dois créer une dll à partir d'une API d'un programme externe, conçu (il me semble) pour VC++ 6.0 ou VC++ .NET.

    La compilation se déroule bien, mais le linker me dit qu'il ne trouve pas 'mfc42d.lib'. Comme ces librairies (MFC) ne sont pas disponibles dans les sdk pour les plateformes x86,
    je me demandais si il y avait un moyen de faire en sorte que le linker ne les cherche pas

    Existe t'il un répertoire des MFC et autres librairies standard, permettant de savoir qui sert à quoi?

    Par avance merci

  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
    pourquoi as-tu besoin de linker avec cette librairie ? tu te sers des MFC ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut
    Je ne suis pas certain d'en avoir réellement besoin, car je ne connais pas bien le code de l'API. Ce qui est sur, c'est que je n'ai pas linké ces librairies manuellement.

    J'ai essayé de désactiver les MFC dans les propriétés de mon projet (General/use of MFC -> Use Standard Windows libraries), mais il me manque maintenant 'nafxcwd.lib', qui est une librairie du même type (il me semble).
    J'ai fait une recherche de ces fichiers sur mes disques et ils existent mais pour d'autres plateformes que x86.

    J'ai bien noté que la version express n'incluait pas ces MFC, et je me demande pourquoi elles sont linkées "par défaut".

    Comment éviter le linkage de ces librairies, ou comment les récupérer?


    Merci par avance!

  4. #4
    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
    t'as regardé dans la ligne d'édition de lien ? qu'y-a-t-il ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut
    Bonjour,

    J'ai tenté d'ignorer la librairie non trouvée de l amanière suivante, dans les propriétés du projet:

    Est ce la bonne méthode pour configurer l'édition de liens?

    J'ai bien peur que ces librairies manquantes ne continuent de m'embêter ...
    Images attachées Images attachées  

  6. #6
    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
    on peut voir le contenu de command line ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut
    Biensur, le voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /VERBOSE:LIB /OUT:"S:\localwork\faisabilité_LTSI\src\option1\simplorer\beeler_VC\beeler_reuter\Debug\beeler_reuter.dll"
    /INCREMENTAL /NOLOGO
    /LIBPATH:"C:\Ansoft\Simplorer70\Template\C_Interface\Lib" /DLL /MANIFEST
    /MANIFESTFILE:"Debug\beeler_reuter.dll.intermediate.manifest"
    /NODEFAULTLIB:"nafxcwd.lib" /DEBUG /ASSEMBLYDEBUG
    /PDB:"s:\localwork\faisabilité_LTSI\src\option1\simplorer\beeler_VC\beeler_reuter\debug\beeler_reuter.pdb"
    /MACHINE:X86 /ERRORREPORT:PROMPT
    Avec /NODEFAULTLIB, le problème a été décalé : J'ai le droit maintenant à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    beeler_Interface.obj : error LNK2001: unresolved external symbol __afxForceEXCLUDE
    .
    Il va falloir que je cherche ou est ce symbole externe, et que je trouve la librairie correspondante. C'est peut être nafxcwd.lib
    J'ai vu dans d'autres posts que ca pouvait aussi être lié à une option du character set, que j'ai mis en not set

    Voilou, je suis toujours stuck avec ces librairies, mais merci beaucoup pour votre aide!

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut
    Bon là, je ne vois plus de solution à mon problème hormis celle qui consiste à acheter la version standard de VStudio.

    Y a t'il une raison connue pour laquelle Microsoft n'a pas mis ces MFC dans express?
    Est ce que l'on peut trouver en téléchargement gratuit une librairie appartenant aux MFC?

    Est ce encore possible de télécharger VC++ 6.0? Car il semble que cet environnement soit mieux compatible avec l'API que j'utilise.

  9. #9
    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
    pas de MFC dans la version express, à cause des sous-sous
    pour tes autres questions, la réponse est non

    si tu n'as pas besoin de ces dlls, je vois pas pourquoi tu as une dépendance avec. Il faut veiller à enlever toutes les dépendances aux MFC

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut
    Merci de ta réponse, mais ca m'énerve un peu.

    En fait je dois réutiliser du code qui a été orginalement conçu pour VC++ 6.0, que je n'ai pas écrit moi même et auquel je ne pense pas devoir toucher puisqu'il lie ma dll à un environnement de modélisation.

    Donc en gros, les dévelopeurs de l'API ont oublié de rendre leur code plateforme-indépendant, et je ne peux pas y faire grand chose.

    Merci beaucoup! et à très bientôt!

  11. #11
    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
    dans ce cas, effectivement, c'est galère, mais ce que je peux te conseiller, c'est de leur demander une version release (celle-ci semble etre en debug) et de récuperer ces dlls, qui DOIVENT etre distribuées dans toute application MFC

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 29
    Par défaut
    OK, il faut que je demande dans quelle(s) dll sont stockées les fonctions MFC pour compiler avce l'API.
    je vais donc me rensigner sur ce point.

    Ensuite il faut inclure ces dll à l'édition de liens entant que "delayed" il me semble... ?

    Merci pour les infos!

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/12/2009, 23h11
  2. GetPixel sous Visual C++ 2005 Express
    Par Iznogoodsnow dans le forum Visual C++
    Réponses: 7
    Dernier message: 30/11/2006, 09h25
  3. Erreurs de links sous Visual C++ 2005 Express
    Par Spartan03 dans le forum wxWidgets
    Réponses: 6
    Dernier message: 13/11/2006, 18h27
  4. Réponses: 3
    Dernier message: 06/08/2006, 18h17
  5. [VC++ 2005 Express] prob d'install sous w2k
    Par gl0be dans le forum MFC
    Réponses: 2
    Dernier message: 16/12/2005, 23h35

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