1

我正在尝试在我的 Mac OS X 10.8 上编译 PHP,但遇到以下问题:

In file included from /Users/ryan/Downloads/php-5.4.5/ext/phar/util.c:23:
ext/phar/phar_internal.h:223:19: error: invalid token at start of a preprocessor
      expression
# if SIZEOF_SHORT == 2
                  ^

我不确定为什么会发生此错误,因为这对我来说看起来不错。我已经打开了头文件,如果没有,可以进行更改,或者将 if 全部删除,因为我知道我的系统应该是什么,但我想知道这是否是解决这个问题的正确方法。

4

2 回答 2

0

我并没有真正找到解决这个问题的方法,但是我删除了 if 并留下了无论如何都会被处理的行并且程序编译得很好。我真的不知道这个文件有什么问题。

于 2012-07-27T14:34:10.483 回答
0

它看起来像SIZEOF_SHORT扩展到没有令牌。您应该调查 d 的位置SIZEOF_SHORT#define这可能在命令行上-DSIZEOF_SHORT=)并修复它以提供正确的值。

或者,你可以使用这个:

#include "limits.h"
/* ... */
#if SHRT_BIT == CHAR_BIT * 2
于 2012-08-07T19:57:49.727 回答