'uint32_t' identifier not found error

kevin picture kevin · Mar 2, 2011 · Viewed 260.6k times · Source

I'm porting code from Linux C to Visual C++ for windows.

Visual C++ doesn't know #include <stdint.h> so I commented it out.

Later, I found a lot of those 'uint32_t': identifier not found errors. How can it be solved?

Answer

templatetypedef picture templatetypedef · Mar 2, 2011

This type is defined in the C header <stdint.h> which is part of the C++11 standard but not standard in C++03. According to the Wikipedia page on the header, it hasn't shipped with Visual Studio until VS2010.

In the meantime, you could probably fake up your own version of the header by adding typedefs that map Microsoft's custom integer types to the types expected by C. For example:

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

Hope this helps!