_int64 не называет тип - PullRequest
       18

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

7 голосов
/ 24 августа 2011

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

8 голосов
/ 24 августа 2011

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

#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;  
4 голосов
/ 24 августа 2011

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

...