编译PHP 5.5.38 失败 ext\standard\info.c报错 解决办法

今天想搞个小扩展,然后设置环境的时候,编译PHP错误,具体报错内容请看底部。

临时解决办法:VS2010 打开 ext\standard\info.c 文件,搜索 PRODUCT_ENTERPRISE_EVALUATION 

从这行 case 开始直接注释到最下面一个 break 。保存 重新编译即可成功。

造成这个问题的原因就是个别系统常量没有定义,大致看了下应该是判断系统版本的,所以我就直接注释掉了。

当然找到相应值,定义一下是最好了,我就是开发环境,就先跑起来再说。

报错如下:

 c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\WinNT.h

Microsoft (R) 程序维护实用工具 10.00.30319.01 版
版权所有(C) Microsoft Corporation。保留所有权利。

Recreating build dirs
info.c
ext\standard\info.c(595) : error C2065: “PRODUCT_ENTERPRISE_EVALUATION”: 未声
明的标识符
ext\standard\info.c(595) : error C2051: case 表达式不是常量
ext\standard\info.c(598) : error C2065: “PRODUCT_MULTIPOINT_STANDARD_SERVER”:
未声明的标识符
ext\standard\info.c(598) : error C2051: case 表达式不是常量
ext\standard\info.c(601) : error C2065: “PRODUCT_MULTIPOINT_PREMIUM_SERVER”:
未声明的标识符
ext\standard\info.c(601) : error C2051: case 表达式不是常量
ext\standard\info.c(604) : error C2065: “PRODUCT_STANDARD_EVALUATION_SERVER”:
未声明的标识符
ext\standard\info.c(604) : error C2051: case 表达式不是常量
ext\standard\info.c(607) : error C2065: “PRODUCT_DATACENTER_EVALUATION_SERVER”
: 未声明的标识符
ext\standard\info.c(607) : error C2051: case 表达式不是常量
ext\standard\info.c(610) : error C2065: “PRODUCT_ENTERPRISE_N_EVALUATION”: 未
声明的标识符
ext\standard\info.c(610) : error C2051: case 表达式不是常量
ext\standard\info.c(613) : error C2065: “PRODUCT_STORAGE_WORKGROUP_EVALUATION_S
ERVER”: 未声明的标识符
ext\standard\info.c(613) : error C2051: case 表达式不是常量
ext\standard\info.c(616) : error C2065: “PRODUCT_STORAGE_STANDARD_EVALUATION_SE
RVER”: 未声明的标识符
ext\standard\info.c(616) : error C2051: case 表达式不是常量
ext\standard\info.c(619) : error C2065: “PRODUCT_CORE_N”: 未声明的标识符
ext\standard\info.c(619) : error C2051: case 表达式不是常量
ext\standard\info.c(622) : error C2065: “PRODUCT_CORE_COUNTRYSPECIFIC”: 未声明
的标识符
ext\standard\info.c(622) : error C2051: case 表达式不是常量
ext\standard\info.c(625) : error C2065: “PRODUCT_CORE_SINGLELANGUAGE”: 未声明
的标识符
ext\standard\info.c(625) : error C2051: case 表达式不是常量
ext\standard\info.c(628) : error C2065: “PRODUCT_CORE”: 未声明的标识符
ext\standard\info.c(628) : error C2051: case 表达式不是常量
ext\standard\info.c(631) : error C2065: “PRODUCT_PROFESSIONAL_WMC”: 未声明的标
识符
ext\standard\info.c(631) : error C2051: case 表达式不是常量
NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 10.
0\VC\BIN\cl.exe"”: 返回代码“0x2”
Stop.

C:\phpsdk\phpdev\vc11\x86\php-5.5.38>

发表评论

您的电子邮箱地址不会被公开。