_int64 не называет тип

В моем файле 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;  

Когда я создаю свое приложение, я получаю сообщение об ошибке

typedef signed __int64       int64_t;
typedef unsigned __int64     uint64_t; 

который говорит, что _int64 не называет тип. В чем может быть проблема?

2 ответа

Решение

Добавить это включает

#include <inttypes.h>

Затем используйте uint64_t или int64_t.

увидеть ниже

#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;  

Похоже, вы пытаетесь использовать MSVC __int64 введите с GCC. Это не работает, используйте long long вместо.

Другие вопросы по тегам