2009-10-15 4 views
27

J'ai récemment converti une solution multi-projets pour utiliser .dlls au lieu de .libs pour chacun des projets. Cependant, je reçois maintenant un avertissement de l'éditeur de liens pour chaque projet, comme indiqué dans l'exemple. MSDN n'a pas servi à tout cela utile avec cela. Pourquoi est-ce et comment puis-je le résoudre?LNK4075: ignorer '/ EDITANDCONTINUE' en raison de la spécification '/ OPT: ICF'

Avertissement 2 Avertissement LNK4075: ignorant '/ EDITANDCONTINUE' en raison de '/ OPT: ICF' spécification LudoCamera.obj

+0

Pourquoi est-ce une erreur de liens? Je vous crois, je suis juste inexpérimenté avec C++ et studio visuel. Passer de ZI (base de données de programme Modifier et continuer) à Zi (base de données de programme) a fait disparaître ces erreurs, mais il pourrait juste cacher le problème de la racine. Pourriez-vous élaborer? – Mark

+2

@Mark il ya effectivement trois étapes de compilation, (1) analyse - comprendre ce que chaque fichier cpp dit, (2) génération de code - générer des opcodes pour chaque fichier de fonction, et (3) lien - relier les opcodes pour chaque fonction togeather. Cet avertissement commence par LNK, indiquant qu'il s'agit d'une erreur de lien. –

+1

C'est une bonne chose que ça continue à dire "ignorer/EDITANDCONTINUE" quand il n'y a pas d'option "/ EDITANDCONTINUE". –

Répondre

30

Vous pouvez avoir "Modifier et continuer" support ou optimisations. Habituellement, vous mettez "Modifier et continuer" sur les versions de débogage et les optimisations sur les versions de version. Editer et continuer vous permet de changer de code pendant le débogage et de maintenir le programme en marche. Ce n'est pas supporté si le code doit aussi être optimisé.

+0

Y a-t-il un drapeau spécifique que je peux passer? J'ai passé '\ Zi' mais j'ai quand même reçu cet avertissement. – CroCo

+0

C'est '/', pas '\\'. Aussi, assurez-vous que vous l'avez choisi sur la construction (DEBUG ou RELEASE) que vous essayez de construire –

0

Je sais ce que c'est, ils ne sont pas des versions de version. Je pense que l'éditeur de liens pense toujours qu'ils sont des builds de débogage, qui ont toujours l'édition de débogage et la fonctionnalité continue utilisée quand le débogage est encore activé.

Bob.

+0

J'ai eu une lib compilé pour la version importée dans le projet de débogage et l'avertissement est apparu. Quelque chose comme ça en effet. – TechNyquist

6

J'ai aussi reçu cet avertissement lors de la conversion d'un projet VS2008 de .LIB .dll et la solution de contournement est de modifier les paramètres Linker/d'optimisation de la configuration de débogage Win32 de défaut à:

Références = Gardez non référencées données (/ OPT: NOREF)

Activer COMDAT pliant = Ne pas supprimer COMDAT redondants (/ OPT: NOICF)

13

J'ai eu ce problème aussi. J'ai ouvert les propriétés du projet, puis j'ai cliqué sur Général dans l'onglet C/C++. Il y a une option qui dit 'Debug Information Format', que j'ai changé en Program Database (/ Zi), et je n'ai plus reçu l'avertissement.

J'espère que cette aide. Greetz

Richard

Questions connexes