我正在将Linux C的代码移植到Windows的Visual C++。Visual C++不知道#include <stdint.h>,所以我将其注解掉。后来发现很多那种'uint32_t': identifier not found错误,怎么解决呢?
#include <stdint.h>
'uint32_t': identifier not found
g52tjvyc1#
此类型在C标头<stdint.h>中定义,该标头是C11标准的一部分,但不是C03中的标准。根据the Wikipedia page on the header,它直到VS2010才随Visual Studio提供。与此同时,您可以添加typedef来将Microsoft's custom integer typesMap到C预期的类型,从而伪造您自己版本的头文件。例如:
<stdint.h>
typedef
typedef __int32 int32_t; typedef unsigned __int32 uint32_t; /* ... etc. ... */
zpjtge222#
你可以使用#include <cstdint>。它是C++标准的一部分,自2011年起。
#include <cstdint>
xv8emn3q3#
我有同样的错误,它修复了它,包括在文件中的以下内容
在你档案的开头。
uxhixvfz4#
Boost。Config为那些本机未提供typedef的工具集提供了这些typedef。此特定功能的文档位于以下位置:Standard Integer Types
g6ll5ycj5#
在msinttypes project page上有一个可用的实现-“这个项目填补了Microsoft Visual Studio中stdint. h和inttypes. h的缺失”。我没有这种实现的经验,但我看到过其他人在SO上推荐它。
368yc8dk6#
在Windows上,我通常使用windows类型。要使用它,你必须包含<Windows.h>。在这种情况下,uint32_t为UINT32或仅为UINT。所有类型定义如下:http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
<Windows.h>
cygmwpex7#
我不得不在VS2010中运行项目,我不能在代码中引入任何修改。我的解决方案是安装VS 2013,并在VS2010中指向VC++目录-〉IncludeDirectories to Program Files(x86)\Microsoft Visual Studio 12.0\VC\include。然后我的项目编译没有任何问题。
7条答案
按热度按时间g52tjvyc1#
此类型在C标头
<stdint.h>
中定义,该标头是C11标准的一部分,但不是C03中的标准。根据the Wikipedia page on the header,它直到VS2010才随Visual Studio提供。与此同时,您可以添加
typedef
来将Microsoft's custom integer typesMap到C预期的类型,从而伪造您自己版本的头文件。例如:zpjtge222#
你可以使用
#include <cstdint>
。它是C++标准的一部分,自2011年起。xv8emn3q3#
我有同样的错误,它修复了它,包括在文件中的以下内容
在你档案的开头。
uxhixvfz4#
Boost。Config为那些本机未提供typedef的工具集提供了这些typedef。此特定功能的文档位于以下位置:Standard Integer Types
g6ll5ycj5#
在msinttypes project page上有一个可用的实现-“这个项目填补了Microsoft Visual Studio中stdint. h和inttypes. h的缺失”。
我没有这种实现的经验,但我看到过其他人在SO上推荐它。
368yc8dk6#
在Windows上,我通常使用windows类型。要使用它,你必须包含
<Windows.h>
。在这种情况下,uint32_t为UINT32或仅为UINT。
所有类型定义如下:http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx
cygmwpex7#
我不得不在VS2010中运行项目,我不能在代码中引入任何修改。我的解决方案是安装VS 2013,并在VS2010中指向VC++目录-〉IncludeDirectories to Program Files(x86)\Microsoft Visual Studio 12.0\VC\include。然后我的项目编译没有任何问题。