_XP64__在OSX 10.6上为C++应用程序的默认构建定义在哪里?

Dan*_*aum 4 c++ macos makefile gnu-make

我正在OSX 10.6上以32位模式构建第三方库(该库是Xerces 2.8).我已确定__LP64__已设置预处理器定义.但是,据我所知,它没有被设置在第三方项目的任何配置文件中,并且通过所有文件(通过Finder)进行全局搜索#define __LP64__并没有向我显示这是由系统.

我通过make命令行构建库(不涉及Xcode).

我想知道在哪里__LP64__定义 - 以及它的目的是什么,因为我正在以32位模式构建项目.

Jon*_*pan 12

它由编译器自动定义,而不是在任何头中定义.如果已设置,则为64位目标构建.

(如果编译器还没有,标题可以定义它,尽管它不应该.如果您认为是这种情况,请添加#define __LP64__到您的代码中,并在预处理期间查看错误以确定先前定义的位置.)

  • 命令`cpp -dM/dev/null`将为您提供预处理器定义的所有宏的列表. (13认同)