1. 程式人生 > >VS2008下編譯C++程式,找不到 stdint.h,原因及解決方案

VS2008下編譯C++程式,找不到 stdint.h,原因及解決方案

來源:http://www.cnblogs.com/verygis/archive/2012/04/22/2465561.html

在 VS2008 下編譯c++程式,發現找不到 stdint.h,最後發現因如下:

Visual Studio 2003 - 2008 (Visual C++ 7.1 - 9) don't claim to be C99 compatible

解決方案:

1. 改用符合C99標準的編譯器(如VS2010)

2. 自定義以下型別:

#ifdef _MSC_VER  
typedef	signed	 __int8		int8_t;
typedef unsigned __int8         uint8_t;
typedef	signed	 __int16	int16_t;
typedef unsigned __int16        uint16_t;
typedef	signed	 __int32	int32_t; 
typedef unsigned __int32	uint32_t; 
typedef	signed	 __int64        int64_t; 
typedef unsigned __int64	uint64_t;  
#else 
#include <stdint.h>  // for integer typedefs
#endif 
另注:在VS2010下,stdint.h 的位置在 C:\Program Files\Microsoft Visual Studio 10.0\VC\include