2014-03-05 12:11 GMT+01:00 Uthpal Urubail <uthpal.urubail@altair.com>:
I am trying use boost in my application. I am getting compiler error, if I
try to include headers after one of the application include file where
uint64_t is defined.

#if defined(OS_WIN) && !defined(uint64_t)
#define uint64_t unsigned __int64
#endif

Error:
[...] 
Can some one help me find the better solution to resolve these type of
issues?

Regards,
UJ

Hi Uthpal,

Are you allowed to modify the application file? It is generally a bad idea to #define identifiers, that can likely be used in other header files.

So, the preferred solution is to modify that application header. Instead of:
#define uint64_t unsigned __int64
try:
typedef unsigned __int64 uint64_t;

Or better yet, just use #include <stdint.h> or <cstdint> if they are available, because they provide the typedef uint64_t and alike.

On the other hand, if you are not allowed to modify the offending application file, then you'll need some trickery to work around this. I can elaborate on this if you need it.

HTH,
Kris