Ne pas distribuer les DLL système avec son prog ?
Bonjour,
J'ai créer un petit programme sous Visual C++ 2005 Express lié aux wxWidgets pour l'IHM. Je me penche ici sur la compilation et le link en DEBUG.
Les options sont les suivantes :
Type de configuration : Application (.exe)
Utilisation des MFC : Utiliser les bibliothèques Windows standard
Donc pas de MFC, evidemment.
Dans l'onglet C++ / Generation de code
J'ai mis Bibliothèque runtime : Débogage Multithreaded au lieu de DLL de débogage multithread (/MDd).
Pour faire ca j'ai en fait suivi les explication que j'ai trouvées dans la FAQ :
http://c.developpez.com/faq/vc/?page...stributeMFCApp
Bref, avec tout ca je pense que je peux compiler et livrer mon programme sans les DLL système.
Mais, j'ai plein d'erreur de link, du genre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Édition des liens en cours...
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _free déjà défini(e) dans LIBCMTD.lib(dbgheap.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _wcslen déjà défini(e) dans LIBCMTD.lib(wcslen.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswdigit déjà défini(e) dans LIBCMTD.lib(_wctype.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswalnum déjà défini(e) dans LIBCMTD.lib(_wctype.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _malloc déjà défini(e) dans LIBCMTD.lib(dbgheap.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _calloc déjà défini(e) dans LIBCMTD.lib(dbgheap.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _memmove déjà défini(e) dans LIBCMTD.lib(memmove.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _tolower déjà défini(e) dans LIBCMTD.lib(tolower.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _strchr déjà défini(e) dans LIBCMTD.lib(strchr.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _isspace déjà défini(e) dans LIBCMTD.lib(_ctype.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _mbstowcs déjà défini(e) dans LIBCMTD.lib(mbstowcs.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _iswalpha déjà défini(e) dans LIBCMTD.lib(_wctype.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: __swprintf déjà défini(e) dans LIBCMTD.lib(swprintf.obj)
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _realloc déjà défini(e) dans LIBCMTD.lib(dbgheap.obj) |
Alors, il faut que je link statiquement avec les MFC, d'après la FAQ. Mais comment faire ? Quel lib dois-je inclure ds les settings de mon projet ?
Merci pour votre aide.
Bye