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 :

Libcmt.lib, msvcrt.lib et "Utilisation des MFC"


Sujet :

Visual C++

  1. #1
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut Libcmt.lib, msvcrt.lib et "Utilisation des MFC"
    Bonjour,

    je cherche a utiliser un grosse bibliotheque externe sans un de mes programmes (Itk pour ceux qui connaissent) .. mais je rencontre les eternels pbs de conflit entre libcmt.lib et msvcrt.lib.

    Du coup, je me demande s'il y a un lien entre le fait quel le parametrage "Utilisation des MFC" du projet VS2005 soit positionné sur "Utiliser les bibliotheques Windows standard" et le link "automatique" avec libcmt.lib ..

    Si quelqu'un(une) sait, merci de partager le savoir

    V

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 474
    Par défaut
    "Utilisation des MFC" du projet VS2005 soit positionné sur "Utiliser les bibliotheques Windows standard"
    C'est juste pour dire que l’on n’utilise pas les MFC, cela ne dit rien sur la C-runtime utilisée.
    La C-runtime utilisée c'est dans
    Click droit sur le projet -> Properties -> configuration Properties -> C/C++ -> Code Generation -> Runtime Library

    Le compilateur se charge de donner les informations nécessaire au Linker.

    Il faut donc juste choisir correctement la C-Runtime pour que l'exécutable et toutes les librairies statiques utilisent la même.

  3. #3
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut
    ok, mais dans ce cas, comment forcer a utiliser la libcrt et pas la lib Msvcrt a part en ajoutant la lib msvcrt dans la liste de NoDefaultlib ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 474
    Par défaut
    libcrt != libcmt

    Si c'est libcmt.lib, il suffit de sélectionner /MT dans Runtime Library.

  5. #5
    Membre éclairé
    Profil pro
    System Integration Project Manager
    Inscrit en
    Octobre 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : System Integration Project Manager
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 219
    Par défaut
    bon, alors j'ai un projet configuré en /MT (donc libcmt) et j'ai qd meme des erreurs de definition en double avec msvcrt !

    Et c'est quasi systématique qd je dois utiliser une lib externe, ca releve toujours de la haute acrobatie et ca commence vraiment a me gonfler grave ....

    Que faire ?

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 474
    Par défaut
    Tant que vous utilisez des libs statiques, il faut que toutes ces libs et l'exécutable utilisent la même lib C.
    Donc vous en choisissez une, moi je préfère la version dll de la C-Runtime, et vous recompilez ou choisissez les librairies qui correspondent à votre choix.
    On ne peut pas mélanger les C-runtime dans des librairies statiques.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 8

Discussions similaires

  1. Utilisation des MFC avec C++ Builder 6
    Par engrobel dans le forum C++Builder
    Réponses: 0
    Dernier message: 20/03/2008, 14h51
  2. utilisation des dll et lib
    Par sefir dans le forum C++
    Réponses: 1
    Dernier message: 19/11/2007, 15h55
  3. Pourquoi inclure des .lib pour utiliser des DLLs système?
    Par NicolasJolet dans le forum Windows
    Réponses: 4
    Dernier message: 08/08/2006, 14h59
  4. Executable utilisant des DLLs et des LIB
    Par beb30 dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/08/2006, 10h51

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