Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

_int64 does not name a type

Tags:

iphone

pch

int64

In my pch file I have the following definitions:

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

like image 913
Nitish Avatar asked Aug 24 '11 11:08

Nitish


2 Answers

Add this include

#include <inttypes.h>

Then use uint64_t or 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;  
like image 99
Vijay-Apple-Dev.blogspot.com Avatar answered Oct 15 '22 12:10

Vijay-Apple-Dev.blogspot.com


It looks like you you are trying to use MSVC specific __int64 type with GCC. That does not work, use long long instead.

like image 43
wilx Avatar answered Oct 15 '22 10:10

wilx