Hi,
The man page for the native C compiler says,
"Use the following statement to uniquely identify Tru64 UNIX:
#if defined (__digital__) && defined (__unix__)
The results from the short program below follow:
char=1, int=4, long=8, short=2
The file inttypes.h in /usr/include identifies the following:
* @(#)$RCSfile: inttypes.h,v $ $Revision: 1.1.6.1 $ (DEC) $Date: 1999/10/18 20:23:44 $
*/
#ifndef _INTTYPES_H
#define _INTTYPES_H
#ifndef __BIT_TYPES_DEFINED__
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef signed long int64_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
typedef unsigned long uint64_t;
#endif
typedef signed long intptr_t;
typedef unsigned long uintptr_t;
#endif /* _INTTYPES_H */
I have also seen a user defined int32.h file which follows:
#ifdef INT32
typedef int int32;
typedef unsigned int uint32;
#else
typedef long int32;
typedef unsigned long uint32;
#endif
Hope this helps.
Philip
From [EMAIL PROTECTED] Tue Apr 16 09:38:05 2002
Hi,
Humm... seems I've found the source of error.
In icc34.h there are some typedefs for declaring basic types.
icUInt8Number;
icUInt16Number;
icUInt32Number;
icUInt64Number;
icInt8Number;
icInt16Number;
icInt32Number;
icInt64Number;
Rest of library does rely on these. Specially for I/O. Then, the original
icc34.h does something like this:
#ifdef __sgi
... declare proper types for SGI
#else
... use defaults **FOR MS WINDOWS**
#endif
Of course, if you are using the default icc34.h, you reverts to MS Windows
defines. This is enough to silent the compiler, but there are things, like for
example
typedef long icInt32Number;
That doesn't apply to your system, nor on many others. In such way, I did
the modification in icc34.h in order to support all those. But since tru64
wasn't
included, it was no #ifdef __tru64 or anything like it. So, here is why
compiler
complained.
What we really need to know is wich sizes does have your basic types.
Do you know if is there any #defined symbol like __tru64 to tailor them?
Another thing, we should know the type sizes. I guess this small program could
give us some clues:
----cut---
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("char=%d, int=%d, long=%d, short=%d\n", sizeof(char), sizeof(int),
sizeof(long), sizeof(short));
return 0;
}
---cut---
Or, better, to know if there are already defined base types like:
uint8_t
uint16_t
uint32_t
... etc..
Some platforms does have sligtly different identifiers:
u_int8_t
u_int16_t
u_int32_t
.. etc..
Some other does ones like these
__uint8_t
__uint16_t
__uint32_t
... etc..
If so, is just a matter of using these symbols to get the library working.
Regards,
Mart� Maria
The little cms project
http://www.littlecms.com
[EMAIL PROTECTED]
_______________________________________________
Lcms-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/lcms-user