'uint32_t'标识符未find错误

我将代码从Linux C移植到Visual C ++ for windows。

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

后来,我发现了很多'uint32_t': identifier not found错误。 如何解决?

这种types在C头<stdint.h>定义,它目前不是C ++标准的一部分。 根据标题上的维基百科页面 ,直到VS2010之前,它并没有随Visual Studio一起提供。

同时,你也许可以通过添加typedef来伪装自己的头文件,这些typedef将Microsoft的自定义整数types映射到C期望的types上。例如:

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

希望这可以帮助!

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

提升 。 Config提供了这些工具集的types定义,它们本身不提供它们。 此特定function的文档在这里: 标准整数types

在msinttypes项目页面有一个实现 – “这个项目填补了Microsoft Visual Studio中stdint.h和inttypes.h的缺失”。

我没有这个实现的经验,但是我已经看到了其他人推荐的SO。

在Windows上,我通常使用Windowstypes。 要使用它,你必须包含<Windows.h>

在这种情况下,uint32_t是UINT32或者只是UINT。

所有types定义在这里: http : //msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx

我有同样的错误,并修复它包括在文件中以下

 #include <stdint.h> 

在你的文件的开始。

我不得不在VS2010中运行项目,我不能在代码中引入任何修改。 我的解决scheme是安装vS2013和VS2010中的VC ++目录 – > IncludeDirectories到Program Files(x86)\ Microsoft Visual Studio 12.0 \ VC \ include。 那么我的项目编译没有任何问题。