Salut,
Est-il possible de linker dans un meme projet a deux libraires respectivement statique pour l'une et utilisant une DLL pour l'autre?
Merci
Salut,
Est-il possible de linker dans un meme projet a deux libraires respectivement statique pour l'une et utilisant une DLL pour l'autre?
Merci
??? essaye d'expliquer ton problème très bien.
tu veux dire qu'une application A veut utiliser une librairie statique et une dll en même temps, bien sur que tu peux ...
Oui, c'est ce que voulais dire, mon application A voudrais bien linker a une librairie statique et a une DLL en meme temps.
Simplement, j'obtiens les erreurs de linkage suivantes et je m'etais laissé dire que c'etait peut-etre ca qui causait le probleme :
Donc est-ce que VC++ permet ce genre de chose..ou pas?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 ibcpmtd.lib(locale0.obj) : error LNK2005: "public: class std::locale::facet const * __thiscall std::locale::_Getfacet(unsigned int,bool)const " (?_Getfacet@locale@std@@QBEPBVfacet@12@I_N@Z) already defined in msvcprtd.lib(MSVCP60D.dll) libcpmtd.lib(locale0.obj) : error LNK2005: "public: bool __thiscall std::locale::_Iscloc(void)const " (?_Iscloc@locale@std@@QBE_NXZ) already defined in msvcprtd.lib(MSVCP60D.dll) libcpmtd.lib(iostream.obj) : error LNK2005: "public: __thiscall std::ios_base::Init::Init(void)" (??0Init@ios_base@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP60D.dll) libcpmtd.lib(iostream.obj) : error LNK2005: "public: __thiscall std::ios_base::Init::~Init(void)" (??1Init@ios_base@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP60D.dll) libcpmtd.lib(ios.obj) : error LNK2005: "public: void __thiscall std::ios_base::clear(int,bool)" (?clear@ios_base@std@@QAEXH_N@Z) already defined in msvcprtd.lib(MSVCP60D.dll)
C'est plutot un probleme avec le .lib je pense. Il doit être compilé pour utiliser la lib standard en version Dll / lib statique, et ton exe doit utiliser l'autre version. Change les settings de ton exe. C++->generation de code->bibliothèque runtime.
J 'ai fait cette manip mais j'obtient les erreurs suivantes :Change les settings de ton exe. C++->generation de code->bibliothèque runtime.
J'ai bien essayé d'ignorer MSVCRT.lib mais sans aucun changement observable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fread already defined in LIBCMTD.lib(fread.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: _exit already defined in LIBCMTD.lib(crt0dat.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fprintf already defined in LIBCMTD.lib(fprintf.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: _sprintf already defined in LIBCMTD.lib(sprintf.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fwrite already defined in LIBCMTD.lib(fwrite.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: _fflush already defined in LIBCMTD.lib(fflush.obj)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager