По информации на странице 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
Как я могу решить?
Наконец-то я нашел решение.
Сообщаемые константы не определены по простой причине: 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.
Других решений пока нет …