_iterator_debug_level de la valeur '0' ne correspond pas à la valeur '2'
Je viens d'emménager sur un Visual Studio (C++) de la solution sur un autre ordinateur, le programme d'installation de tous les répertoires et les paramètres d'aussi loin que je peux voir, et a fait un clean/reconstruction sur la solution. Je reçois le message d'erreur ci-dessus sur un tas de .obj sur la compilation, vous ne savez pas quoi faire à ce sujet.
- Recherche _iterator_debug_level 0 en solution et commenton eux
Vous devez vous connecter pour publier un commentaire.
Il semble que vous mélangez les fichiers objets construits avec différents paramètres. Essayer de faire un nettoyage complet de reconstruction et de vérifier tous les projets, les paramètres du fichier à assurez-vous que le _ITERATOR_DEBUG_LEVEL macro est le même (par exemple, vous n'êtes pas de mélange debug et release construit des objets).
Mélange de binaires (fichiers objets) est une raison; l'autre (que j'ai rencontré) est la fausse définition de la
_DEBUG
macro dans la version release._DEBUG
n'est pas une macro standard, mais utilisé par Microsoft.Après l'édition de la .vcxproj-fichier Emacs j'ai fait une faute de frappe
_DEBUG
au lieu deNDEBUG
pour la libération, et a rencontré exactement la même erreur.Dans certains cas, le mélange des options de la
Entre Bibliothèque incluse(s) et actuellement en train de travailler projet
peuvent causer ce problème.
En fonction de l'utilisation de la définir comme
/MD
ou/MT
ou/MDd
ou/MTd
uniformément à l'ensemble des projets.J'ai essayé de résoudre ce problème pour les cinq jours. Le Nuage de points de la Bibliothèque (PCL) le code est construit avec succès en mode debug, mais échoue en mode release.
J'ai reconfiguré ma bibliothèque plusieurs fois mais ça n'a pas aidé. J'ai trouvé le problème est que la version héritât _DEBUG donc j'ai décoché sous propriétés du projet >> Préprocesseur >> Processeur Définitions et il a été résolu.
J'ai découvert (bizarrement) que _CRT_NON_CONFORMING_SWPRINTFS en est la cause. Lorsque je le supprime, je n'ai pas "_iterator_debug_level de la valeur '0' ne correspond pas à la valeur '2'", mais au contraire l'avertissement suivant:
Erreur 6 erreur C4996: '_swprintf': swprintf a été modifié pour être conforme avec le standard ISO C, l'ajout d'un caractère supplémentaire nombre de paramètre. Pour l'utilisation traditionnelle de Microsoft swprintf, ensemble _CRT_NON_CONFORMING_SWPRINTFS.