'uint32_t' 标识符未找到错误

2021-12-22 00:00:00 c visual-c++ c++

我正在将代码从 Linux C 移植到适用于 Windows 的 Visual C++.

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

Visual C++ 不知道 #include 所以我把它注释掉了.

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

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

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

推荐答案

该类型定义在 C 头文件 中,它是 C++11 标准的一部分,但不是C++03 中的标准.根据标题中的维基百科页面,它直到 VS2010 才随 Visual Studio 一起发布.

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.

与此同时,您可能可以通过添加映射 typedef 来伪造自己的标头版本library/29dh1w7z.aspx" rel="noreferrer">Microsoft 的自定义整数类型 到 C 期望的类型.例如:

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. ... */

希望这有帮助!

相关文章