In my pch file I have the following definitions:
在我的pch文件中,我有以下定义:
#if (_MSC_VER < 1300)
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
#else
typedef signed __int8 int8_t;
typedef signed __int16 int16_t;
typedef signed __int32 int32_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
#endif
typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t;
When I build my application I get an error at
当我构建我的应用程序时,我得到一个错误
typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t;
which says that _int64 does not name a type. What might be the problem?
这表示_int64没有命名类型。可能是什么问题?
2 个解决方案
#1
8
Add this include
添加此包含
#include <inttypes.h>
Then use uint64_t or int64_t.
然后使用uint64_t或int64_t。
see below
#include <inttypes.h>
#if (_MSC_VER < 1300)
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
#else
typedef signed __int8 int8_t;
typedef signed __int16 int16_t;
typedef signed __int32 int32_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
#endif
typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t;
#2
4
It looks like you you are trying to use MSVC specific __int64
type with GCC. That does not work, use long long
instead.
看起来你正试图在GCC中使用MSVC特定的__int64类型。这不起作用,反而使用很长时间。
#1
8
Add this include
添加此包含
#include <inttypes.h>
Then use uint64_t or int64_t.
然后使用uint64_t或int64_t。
see below
#include <inttypes.h>
#if (_MSC_VER < 1300)
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
#else
typedef signed __int8 int8_t;
typedef signed __int16 int16_t;
typedef signed __int32 int32_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
#endif
typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t;
#2
4
It looks like you you are trying to use MSVC specific __int64
type with GCC. That does not work, use long long
instead.
看起来你正试图在GCC中使用MSVC特定的__int64类型。这不起作用,反而使用很长时间。