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 :

Soit warning LNK4098, soit error LNK2019!


Sujet :

Visual C++

  1. #1
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut Soit warning LNK4098, soit error LNK2019!
    Bonjours à tous,

    Je suis en train de faire un petit jeu qui fonctionne sous 'SDL', je configure mon projet comme indiqué sur un tuto traitant de la SDL :
    Dans la section "C / C++ => Génération de code", mettez "Bibliothèque runtime" à "DLL multithread (/MD)"
    Le problème est que dès que j'utilise un container ( vector, deque... ), la compilation me pose un problème :
    FonctionsAnnexes.obj : error LNK2019: symbole externe non résolu __imp___CrtDbgReportW référencé dans la fonction "public: __thiscall std::_Vector_const_iterator<struct SDL_Rect,class std::allocator<struct SDL_Rect> >::_Vector_const_iterator<struct SDL_Rect,class std::allocator<struct SDL_Rect> >(struct SDL_Rect *,class std::_Container_base_secure const *)" (??0?$_Vector_const_iterator@USDL_Rect@@V?$allocator@USDL_Rect@@@std@@@std@@QAE@PAUSDL_Rect@@PBV_Container_base_secure@1@@Z)
    D:\visual studio 2010\Projects\MARIO_Sokoban\Debug\MARIO_Sokoban.exe : fatal error LNK1120: 1 externes non résolus
    Le problème se résoud des que je remet
    C / C++ => Génération de code", mettez "Bibliothèque runtime" à "DLL de débogage multithread (/MDd)"
    mais j'ai alors à la compilation :
    MSVCRTD.lib(cinitexe.obj) : warning LNK4098: conflit entre la bibliothèque par défaut 'msvcrt.lib' et les autres bibliothèques*; utilisez /NODEFAULTLIB:library
    Finalement, en configurant le projet pour qu'il ignore la bibliothèque 'msvcrt.lib' comme indiqué ici, tout compile bien.

    Quel risque je cours en laissant tourner mon projet avec le 'warning LNK4098'?
    Est-ce la bonne façon d'utiliser à la fois 'SDL' et des containers comme 'vector' avec visual C++?


    Merci

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

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

    Informations forums :
    Inscription : Février 2005
    Messages : 5 157
    Points : 12 271
    Points
    12 271
    Par défaut
    "CrtDbgReportW" est une fonction qui n'est défini qu'en Debug.

    Moi, je vous conseille de voir quelles dll utilisent une version Release de la C-Runtime quand vous compilez en Debug.
    C'est plus simple d'avoir un jeu complet de dll Debug et Release distinctes.

    Si une dll en Release peut être utilisée sans danger en Debug, c'est qu'elle n'exporte aucune adhérence à la C-Runtime qu'elle utilise. Il semble bien que ce n'est pas le cas ici.

    Donc arrangez-vous pour que chaque jeu de dll soit indépendant.

    Utilisez /VERBOSE:LIB (http://msdn.microsoft.com/en-us/libr...v=VS.100).aspx)

  3. #3
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Points : 827
    Points
    827
    Par défaut
    Merci Paul

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Error LNK2019 avec la SDL 1.2.9
    Par dude666 dans le forum MFC
    Réponses: 1
    Dernier message: 09/02/2006, 09h12
  2. Wininet.h : error LNK2019
    Par firejocker dans le forum MFC
    Réponses: 8
    Dernier message: 10/11/2005, 18h46
  3. visual c++: error LNK2019 et fatal error LNK1120
    Par moimoi_1 dans le forum MFC
    Réponses: 2
    Dernier message: 05/11/2005, 07h41
  4. warning LNK4098
    Par tigana dans le forum MFC
    Réponses: 2
    Dernier message: 27/07/2005, 18h04
  5. Réponses: 4
    Dernier message: 23/04/2004, 16h06

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