46 votes

Erreur D8016 de Visual Studio : les options de ligne de commande '/ZI' et '/Gy' sont incompatibles.

Je rencontre un problème avec un projet sur lequel je travaille. Bien que le code soit correct, je n'arrive pas à le construire car j'ai obtenu l'erreur suivante

Erreur D8016 Les options de ligne de commande '/ZI' et '/Gy-' sont incompatibles LoadReport C:\LoadReport\LoadReport\cl

Ma version du studio visuel est 2015. Toute idée serait appréciée.

2 votes

Je suis tombé sur ce problème dans Visual Studio 2017 en essayant de compiler l'un des échantillons de code de Petzold pour Windows. Je me demande si cela se produit toujours lorsque vous mettez à niveau les anciennes solutions .dsw (VC++6) vers .sln.

0 votes

@jrh C'est possible... Mais je pense que cela peut aussi être une question de préférences de l'utilisateur quant à la façon dont il aime déboguer son code par rapport au projet construit.

5 votes

C'est possible, mais je suis plus enclin à parler d'un bug dans le processus de conversion, puisqu'il ne peut pas réussir avec ces deux options activées.

97voto

Pierre Points 559

Dans les propriétés de configuration ( Project Properties ),

"/ZI" est dans

C/C++  General  Debug Information Format 

"/Gy" est dans

C/C++  Code Generation  Enable Function-Level Linking

2 votes

@T.Todua voir toutes les options ici : docs.microsoft.com/fr/us/cpp/build/reference/

72voto

Bo Persson Points 42821

Vous choisissez "Modifier et continuer" ( /ZI ) pour pouvoir corriger le code pendant le débogage, mais aussi "Disable Function-Level Linking" ( /Gy- ).

Ces deux-là ne fonctionneront pas ensemble, car vous ne pouvez pas modifier une fonction au milieu du code. Il suffit donc de choisir l'une d'entre elles, comme changer /Gy- à /Gy .

2 votes

Où sont décrites toutes ces abréviations pour comprendre quelle abréviation signifie quoi ?

9voto

le même problème est apparu, résolu en changeant

Propriétés du projet Format d'information de débogage général C/C++ Base de données du programme (/Zi)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X