'uint32_t'标识符未找到错误

kev*_*vin 84 c c++ visual-c++

我正在将代码从Linux C移植到Visual C++ for windows.

Visual C++不知道#include <stdint.h>所以我评论了它.

后来,我发现了很多这些'uint32_t': identifier not found错误.怎么解决?

tem*_*def 99

此类型在C头中定义,<stdint.h>它是C++ 11标准的一部分,但在C++ 03中不是标准.根据标题上的维基百科页面,它直到VS2010才附带Visual Studio.

与此同时,您可以通过添加typedefMicrosoft的自定义整数类型映射到C所期望的类型的s来伪造您自己的标题版本.例如:

typedef __int32 int32_t;
typedef unsigned __int32 uint32_t;
/* ... etc. ... */
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!

  • 您还可以使用Boost的cstdint实现. (4认同)
  • Microsoft的固定大小整数类型不以"t"结尾.试试`__int32`. (3认同)

小智 75

你可以#include <cstdint>.它是自2011年以来C++标准的一部分.


ild*_*arn 7

提升.Config为不能本机提供它们的工具集提供这些typedef.此特定功能的文档位于此处:标准整数类型


小智 7

我有相同的错误,它修复了包括在文件中的以下内容

#include <stdint.h>
Run Code Online (Sandbox Code Playgroud)

在您的文件的开头.

  • 正如问题中所指出的,*stdint.h* 不是 OP 正在使用的 C++ 编译器的一部分。这个答案没有解决问题。 (2认同)