'uint32_t' identifier not found error

C++CVisual C++

C++ Problem Overview


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?

C++ Solutions


Solution 1 - C++

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!

Solution 2 - C++

You can #include <cstdint>. It's part of C++-standard since 2011.

Solution 3 - C++

I have the same error and it fixed it including in the file the following

#include <stdint.h>

at the beginning of your file.

Solution 4 - C++

Boost.Config offers these typedefs for toolsets that do not provide them natively. The documentation for this specific functionality is here: Standard Integer Types

Solution 5 - C++

There is an implementation available at the msinttypes project page - "This project fills the absence of stdint.h and inttypes.h in Microsoft Visual Studio".

I don't have experience with this implementation, but I've seen it recommended by others on SO.

Solution 6 - C++

On Windows I usually use windows types. To use it you have to include <Windows.h>.

In this case uint32_t is UINT32 or just UINT.

All types definitions are here: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx

Solution 7 - C++

I had to run project in VS2010 and I could not introduce any modifications in the code. My solution was to install vS2013 and in VS2010 point VC++ Directories->IncludeDirectories to Program Files(x86)\Microsoft Visual Studio 12.0\VC\include. Then my project compiled without any issues.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionkevinView Question on Stackoverflow
Solution 1 - C++templatetypedefView Answer on Stackoverflow
Solution 2 - C++TigerleView Answer on Stackoverflow
Solution 3 - C++Nacho BarretoView Answer on Stackoverflow
Solution 4 - C++ildjarnView Answer on Stackoverflow
Solution 5 - C++Brandon LeiranView Answer on Stackoverflow
Solution 6 - C++ST3View Answer on Stackoverflow
Solution 7 - C++DarqerView Answer on Stackoverflow