Bonjour, j'ai une solution comprenant 2 projets C++ : un projet de type exécutable et une librairie statique.
Le code et les propriétés du projets de la librairie ne sont pas modifiables.

Mon problème est le suivant : j'ai un certain nombre d'erreurs qui apparaissent lors de l'éditions des liens.
Ces erreurs dépendent du champ paramètre Génération de code>>Bibliothèque Runtime.

Pour la librairie, la bibliothèque Runtime est du type Multithread (\MT) et, pour le projet, à l'origine elle est du type Débogage Multithread (\Mtd).

Voici quelques erreurs qui apparaissent lors de l'édition des liens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
1>LIBCMT.lib(invarg.obj) : error LNK2005: __initp_misc_invarg déjà défini(e) dans LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson déjà défini(e) dans LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __set_invalid_parameter_handler déjà défini(e) dans LIBCMTD.lib(invarg.obj)
1>LIBCMT.lib(invarg.obj) : error LNK2005: __get_invalid_parameter_handler déjà défini(e) dans LIBCMTD.lib(invarg.obj)
Après quelques recherches, j'ai vu que les projets d'une même solution doivent avoir le même paramètre de bibliothèque runtime.

Si je passe mon projet exécutable également en MT, voici un échantillon des nombreuses erreurs qui apparaissent lors de l'édition des liens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
libcpmtd.lib(cin.obj) : error LNK2001: symbole externe non résolu __CrtDbgReportW
3>libcpmtd.lib(cout.obj) : error LNK2001: symbole externe non résolu __CrtDbgReportW
3>libcpmtd.lib(cerr.obj) : error LNK2001: symbole externe non résolu __CrtDbgReportW
3>libcpmtd.lib(xmbtowc.obj) : error LNK2001: symbole externe non résolu __CrtDbgReportW
3>moduleAutopads.obj : error LNK2001: symbole externe non résolu __CrtDbgReportW
3>procedure.obj : error LNK2001: symbole externe non résolu __CrtDbgReportW
3>sscxmlAutopads.obj : error LNK2001: symbole externe non résolu __CrtDbgReportW
3>libcpmtd.lib(stdthrow.obj) : error LNK2001: symbole externe non résolu __CrtDbgReportW
Si au contraire, je passe ma librairie en \Mtd (juste pour essayer mais solution non envisageable à terme), cela fonctionne...

Un avis, des questions ?

Merci d'avance