Where is __LP64__ defined for standard C ++ compilations of applications on OSX 10.6?

I am creating a third-party library in 32-bit mode on OSX 10.6 (Xerces 2.8 library). I determined that the __LP64__ preprocessor definition was __LP64__ . However, as far as I can see, it is not installed in any configuration files of a third-party project and does a global search in all files (via Finder) for #define __LP64__ , does not show me where this is determined by the system.

I create the library via make on the command line (Xcode is not involved).

I would like to know where __LP64__ defined - and what its purpose is, given that I am building a project in 32-bit mode.

+4
source share
1 answer

It is determined automatically by the compiler, and not by any header. If it is installed, you create for 64-bit purposes.

(The header can determine it if the compiler has not done it yet, although it should not. If you think so, add #define __LP64__ to your code and look at the error during preprocessing to determine the location of the previous one.)

+11
source

All Articles