根据页面上的信息https://wiki.php.net/internals/windows/compiler我正在尝试编译PHP5.5以获得VC9-x86支持 - 我绝对需要这个版本。
它应该有效,如页面所述。
我正在浏览https://wiki.php.net/internals/windows/stepbystepbuild页面上的说明,但收到了一些错误:
ext\standard\info.c(502) : error C2065: 'PRODUCT_SERVER_FOUNDATION' : undeclared identifier
ext\standard\info.c(502) : error C2051: case expression not constant
ext\standard\info.c(532) : error C2065: 'PRODUCT_STORAGE_EXPRESS_SERVER_CORE' : undeclared identifier
ext\standard\info.c(532) : error C2051: case expression not constant
ext\standard\info.c(535) : error C2065: 'PRODUCT_STORAGE_STANDARD_SERVER_CORE' :
undeclared identifier
ext\standard\info.c(535) : error C2051: case expression not constant
ext\standard\info.c(538) : error C2065: 'PRODUCT_STORAGE_WORKGROUP_SERVER_CORE'
: undeclared identifier
ext\standard\info.c(538) : error C2051: case expression not constant
ext\standard\info.c(541) : error C2065: 'PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE'
: undeclared identifier
ext\standard\info.c(541) : error C2051: case expression not constant
ext\standard\info.c(544) : error C2065: 'PRODUCT_STARTER_N' : undeclared identif
ier
ext\standard\info.c(544) : error C2051: case expression not constant
ext\standard\info.c(547) : error C2065: 'PRODUCT_PROFESSIONAL' : undeclared iden
tifier
ext\standard\info.c(547) : error C2051: case expression not constant
ext\standard\info.c(550) : error C2065: 'PRODUCT_PROFESSIONAL_N' : undeclared id
entifier
ext\standard\info.c(550) : error C2051: case expression not constant
我该如何解决?
答案 0 :(得分:0)
最后我找到了解决方案。
报告的常量没有定义,原因很简单:SDK6.1不包含它们。 常量在文件C:\ php-sdk \ phpdev \ vc9 \ x86 \ php-5.5.30-src \ ext \ standard \ winver.h中定义,但它们由始终存在的常量值决定:
#ifndef PRODUCT_ULTIMATE
我用第一个缺失的常量改为:
#ifndef PRODUCT_STORAGE_EXPRESS_SERVER_CORE // SM PRODUCT_ULTIMATE
另外,我在下面的某些行中添加了缺失值:
#define PRODUCT_STARTER_E 0x00000042 //SM
通过这种方式,我可以编译php.exe和php.lib库。