92 votes

uint32_t' n'est pas un type.

J'essaie de compiler un logiciel C++ qui a été écrit en 2007 et j'obtiens cette erreur :

error: ‘uint32_t’ does not name a type

Cela se produit sur Ubuntu 64 bits avec g++ 4.5.2. Il se compile bien sur CentOS 64 bits avec g++ 4.1.2.

Y a-t-il un #include ou un drapeau de compilateur qui m'échappe ? Ou, devrais-je utiliser typedef d'attribuer uint32_t à un size_t ou peut-être un unsigned int ?

1voto

gowriganesh Points 11

Ajoutez ce qui suit dans le fichier base.mk. La 3ème ligne suivante est importante -include $(TOP)/defs.mk

CFLAGS=$(DEBUG) -Wall -W -Wwrite-strings 
CFLAGS_C=-Wmissing-prototypes
CFLAGS_CXX=-std=c++0x
LDFLAGS=
LIBS=

pour éviter l'erreur #error Ce fichier requiert le support du compilateur et de la bibliothèque pour la future norme ISO C++, C++0x. Ce support est actuellement expérimental, et doit être activé avec les options de compilation -std=c++0x ou -std=gnu++0x.

1voto

Daniel Points 346

J'ai eu le même problème en essayant de compiler une librairie que je télécharge sur Internet. Dans mon cas, il y avait déjà une #include <cstdint> dans le code. Je l'ai résolu en ajoutant un :

using std::uint32_t;

0voto

Rajnish Sharma Points 1

Il suffit de naviguer dans /usr/include/x86_64-linux-gnu/bits ouvrez stdint-uintn.h et ajoutez ces lignes

typedef __uint8_t uint8_t;
typedef __uint16_t uint16_t;
typedef __uint32_t uint32_t;
typedef __uint64_t uint64_t;

Ouvrez à nouveau stdint-intn.h et ajoutez

typedef __int8_t int8_t;
typedef __int16_t int16_t;
typedef __int32_t int32_t;
typedef __int64_t int64_t;

notez que ces lignes sont déjà présentes, il suffit de copier et d'ajouter les lignes manquantes cheerss

-3voto

SamiraMiss Points 7

Vous devez inclure iostream

#include <iostream>
using namespace std;

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