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 :
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.
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)
Si je passe mon projet exécutable également en MT, voici un échantillon des nombreuses erreurs qui apparaissent lors de l'édition des liens :
Si au contraire, je passe ma librairie en \Mtd (juste pour essayer mais solution non envisageable à terme), cela fonctionne...
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
Un avis, des questions ?
Merci d'avance
Partager