104 votes

'uint32_t' identifiant introuvable erreur

Je porte du code de Linux C à Visual C ++ pour Windows.

Visual C ++ ne sait pas #include <stdint.h> alors je l'ai commenté.

Plus tard, j'ai trouvé beaucoup de ces erreurs 'uint32_t': identifier not found . Comment peut-il être résolu?

119voto

templatetypedef Points 129554

Ce type est défini dans l'en-tête C <stdint.h> ce qui n'est pas actuellement partie de la norme C++. Selon la page Wikipedia sur l'en-tête, il n'a pas livré avec Visual Studio jusqu'à VS2010.

Dans le même temps, vous pourriez probablement faux votre propre version de l'en-tête par l'ajout d' typedefs que la carte Microsoft custom types integer pour les types attendus par C. Par exemple:

typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
/* ... etc. ... */

Espérons que cette aide!

82voto

Tigerle Points 113

Vous pouvez inclure <cstdint> . Cela fait partie de C ++ - standard depuis 2011.

7voto

ildjarn Points 38377

boost . integer offre ces types de fichiers pour les jeux d'outils qui ne les fournissent pas de manière native. La documentation relative à cette fonctionnalité spécifique est disponible à l' adresse suivante : http://www.boost.org/doc/libs/release/libs/integer/doc/html/boost_integer/cstdint.html

3voto

Brandon Leiran Points 2530

Une implémentation est disponible sur la page de projet msinttypes - "Ce projet comble l'absence de stdint.h et d'inttypes.h dans Microsoft Visual Studio".

Je n'ai pas l'expérience de cette implémentation, mais je l'ai vue recommandée par d'autres sur SO.

2voto

ST3 Points 3064

Sous Windows, j'utilise généralement des types Windows. Pour l'utiliser, vous devez inclure <Windows.h> .

Dans ce cas, uint32_t est UINT32 ou simplement UINT.

Toutes les définitions de types sont ici: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx

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