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 :

conflit de librairie


Sujet :

Visual C++

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut conflit de librairie
    Bonjour,

    Je développe maintenant l'interface graphique d'un programme. Je suis partis sur un projet CLR Windows form application.

    J'ai besoin d'inclure une lib: itpp, utile pour faire du traitement de la parole.
    Jusqu'ici tout ce passait bien. Je travaillais sur un projet win32 pour développer mon code. Mais maintenant que je passe à l'interface graphique, lorsque j'inclue la lib et que je compile en mode DEBUG j'ai le warning suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    >LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
    Si j'essaie quand même de lancer le programme, ça plante et j'ai le message suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Debug assertion failed! 
    Expression _CrtIsValidHeapPointer(pUserData)
    Si j'essaie de compiler en mode RELEASE, je n'ai pas de warning mais mon application plante quand même avec le message suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    An unhandled exception of type 'System.TypeInitializationException' occurred in Unknown Module.
    Je précise qu'en suivant la procédure d'installation de la lib présentée ici (au fond de la page), j'ai généré deux fichiers itpp.lib et itpp_debug.lib que j'ai ajouté dans les dépendances additionnelles. Donc je dois pouvoir compiler dans les deux modes.

    Est-ce que quelqu'un peut m'aider?

  2. #2
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,

    As-tu essayé de compiler en suivant les indications données par le warning?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut
    Oui j'ai essayer d'ignorer les librairies par défaut en sélectionnant /NODEFAULTLIB dans les propriétés du projet sous Linker->Input.

    Mais j'ai alors les erreurs suivantes... pas mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A000008) "extern "C" void __clrcall ___CxxCallUnwindDtor(void (__clrcall*)(void *),void *)" (?___CxxCallUnwindDtor@@$$J0YMXP6MXPAX@Z0@Z) referenced in function "public: virtual __thiscall std::logic_error::~logic_error(void)" (??1logic_error@std@@$$FUAE@XZ)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A00015A) "public: static double __cdecl std::numeric_limits<double>::min(void)" (?min@?$numeric_limits@N@std@@$$FSANXZ) referenced in function "void __clrcall `anonymous namespace'::`dynamic initializer for 'void __clrcall itpp::log_double_min::A0x9a53b3cb(void)''(void)" (???__E?A0x9a53b3cb@log_double_min@itpp@@YMXXZ@?A0x9a53b3cb@@$$FYMXXZ)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A00015B) "public: static double __cdecl std::numeric_limits<double>::max(void)" (?max@?$numeric_limits@N@std@@$$FSANXZ) referenced in function "void __clrcall `anonymous namespace'::`dynamic initializer for 'void __clrcall itpp::log_double_max::A0x9a53b3cb(void)''(void)" (???__E?A0x9a53b3cb@log_double_max@itpp@@YMXXZ@?A0x9a53b3cb@@$$FYMXXZ)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A00015C) "public: static double __cdecl std::numeric_limits<double>::epsilon(void)" (?epsilon@?$numeric_limits@N@std@@$$FSANXZ) referenced in function "void __clrcall `anonymous namespace'::`dynamic initializer for 'void __clrcall itpp::eps::A0x9a53b3cb(void)''(void)" (???__E?A0x9a53b3cb@eps@itpp@@YMXXZ@?A0x9a53b3cb@@$$FYMXXZ)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A0001F9) "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$FQAE@ABV01@@Z) referenced in function "public: __thiscall std::runtime_error::runtime_error(class std::runtime_error const &)" (??0runtime_error@std@@$$FQAE@ABV01@@Z)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A0001FA) "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$FQAE@XZ) referenced in function "public: virtual __thiscall std::logic_error::~logic_error(void)" (??1logic_error@std@@$$FUAE@XZ)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A0001FD) "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@$$FQBEPBDXZ) referenced in function "public: virtual char const * __thiscall std::logic_error::what(void)const " (?what@logic_error@std@@$$FUBEPBDXZ)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A000272) "public: __thiscall std::_DebugHeapAllocator<char>::_DebugHeapAllocator<char>(class std::_DebugHeapAllocator<char> const &)" (??0?$_DebugHeapAllocator@D@std@@$$FQAE@ABV01@@Z) referenced in function "public: static void __clrcall std::_DebugHeapAllocator<char>::<MarshalCopy>(class std::_DebugHeapAllocator<char> *,class std::_DebugHeapAllocator<char> *)" (?<MarshalCopy>@?$_DebugHeapAllocator@D@std@@$$FSMXPAV12@0@Z)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A000287) "public: __thiscall std::allocator<char>::allocator<char>(class std::allocator<char> const &)" (??0?$allocator@D@std@@$$FQAE@ABV01@@Z) referenced in function "public: static void __clrcall std::allocator<char>::<MarshalCopy>(class std::allocator<char> *,class std::allocator<char> *)" (?<MarshalCopy>@?$allocator@D@std@@$$FSMXPAV12@0@Z)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A000310) "public: __thiscall std::allocator<wchar_t>::allocator<wchar_t>(class std::allocator<wchar_t> const &)" (??0?$allocator@_W@std@@$$FQAE@ABV01@@Z) referenced in function "public: static void __clrcall std::allocator<wchar_t>::<MarshalCopy>(class std::allocator<wchar_t> *,class std::allocator<wchar_t> *)" (?<MarshalCopy>@?$allocator@_W@std@@$$FSMXPAV12@0@Z)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A00056A) "extern "C" int __clrcall _atexit_m(void (__clrcall*)(void))" (?_atexit_m@@$$J0YMHP6MXXZ@Z) referenced in function "void __clrcall `anonymous namespace'::`dynamic initializer for 'void __clrcall itpp::DEFAULT_FACTORY::A0x9a53b3cb(void)''(void)" (???__E?A0x9a53b3cb@DEFAULT_FACTORY@itpp@@YMXXZ@?A0x9a53b3cb@@$$FYMXXZ)
    1>Interface_CLR.obj : error LNK2028: unresolved token (0A00062C) "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@$$FQAE@ABV01@@Z) referenced in function "public: __thiscall std::runtime_error::runtime_error(class std::runtime_error const &)" (??0runtime_error@std@@$$FQAE@ABV01@@Z)
    1>Interface_CLR.obj : error LNK2020: unresolved token (0A00062D) "const type_info::`vftable'" (??_7type_info@@6B@)
    ...
    ...
    ...

  4. #4
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Ça ressemble à deux configurations de compilation différentes entre ton appli et la librairie.
    Après je ne connais pas beaucoup les Windows Forms, mais je te conseille des chercher dans les options du projet (type de cible, utilisation de la bibliothèque runtime, ...).

    Bon courage

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2007
    Messages : 216
    Points : 88
    Points
    88
    Par défaut
    C'était effectivement un problème de mode de compilation entre ma lib et mon application. Elle n'était pas compilée avec l'option /clr donc ça ne pouvait pas marcher.

    Après l'avoir recompilé en activant cette option, ça marche bien.
    Merci de m'avoir mis sur la piste!

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

Discussions similaires

  1. Conflit de librairies
    Par petdelascar dans le forum C
    Réponses: 16
    Dernier message: 06/02/2012, 12h57
  2. Conflit de librairie au déploiement de plusieurs webapp
    Par syella34 dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 21/07/2011, 08h58
  3. Débutant : Installation Conflit de librairie
    Par killerti dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 05/07/2007, 16h03
  4. Conflit de librairie...
    Par panda_fonfon dans le forum MFC
    Réponses: 2
    Dernier message: 22/04/2006, 12h51
  5. conflit de librairies
    Par petdelascar dans le forum C
    Réponses: 8
    Dernier message: 10/03/2006, 22h13

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