Подобный синтаксис вызывает странные, повторяющиеся ошибки компиляции при сборке PHP из исходного кода в Windows - PullRequest
2 голосов
/ 04 декабря 2009

Я пытаюсь собрать PHP из источника в соответствии с этими инструкциями. Конфигурация работает очень хорошо, но когда я дохожу до части nmake, все рушится. Я понятия не имею, почему я получаю ошибки о структурах, ссылки на которые являются функциями!

Я поместил проблемный zend_interfaces.c здесь .

Zend\zend_interfaces.c(320) : error C2332: 'struct' : missing tag name
Zend\zend_interfaces.c(320) : error C2143: syntax error : missing ')' before 'type'
Zend\zend_interfaces.c(320) : error C2055: expected formal parameter list, not a type list
Zend\zend_interfaces.c(320) : error C2143: syntax error : missing ';' before ','

Zend\zend_interfaces.c(320) : error C2059: syntax error : ')'
Zend\zend_interfaces.c(343) : error C2332: 'struct' : missing tag name
Zend\zend_interfaces.c(343) : error C2143: syntax error : missing ')' before 'type'
Zend\zend_interfaces.c(343) : error C2055: expected formal parameter list, not a type list
Zend\zend_interfaces.c(343) : error C2143: syntax error : missing ';' before ','

Zend\zend_interfaces.c(343) : error C2059: syntax error : ')'
Zend\zend_interfaces.c(375) : error C2332: 'struct' : missing tag name
Zend\zend_interfaces.c(375) : error C2143: syntax error : missing ')' before 'type'
Zend\zend_interfaces.c(375) : error C2055: expected formal parameter list, not a type list
Zend\zend_interfaces.c(375) : error C2143: syntax error : missing ';' before ','

Zend\zend_interfaces.c(375) : error C2059: syntax error : ')'
Zend\zend_interfaces.c(400) : error C2143: syntax error : missing ')' before 'type'
Zend\zend_interfaces.c(400) : error C2055: expected formal parameter list, not a type list
Zend\zend_interfaces.c(400) : error C2143: syntax error : missing ';' before ','

Zend\zend_interfaces.c(400) : error C2059: syntax error : ')'
Zend\zend_interfaces.c(490) : error C2332: 'struct' : missing tag name
Zend\zend_interfaces.c(490) : error C2143: syntax error : missing ')' before 'type'
Zend\zend_interfaces.c(490) : error C2055: expected formal parameter list, not a type list
Zend\zend_interfaces.c(490) : error C2143: syntax error : missing ';' before ','

Zend\zend_interfaces.c(490) : error C2059: syntax error : ')'

Ответы [ 2 ]

1 голос
/ 04 декабря 2009

Я просто удалил первый аргумент из функций, потому что они оказались неиспользуемыми.

Теперь все работает ....

Странно ....

edit: я только что перезагружал источник

1 голос
/ 04 декабря 2009

Вы уверены, что zend_class_entry определен как тип переменной, может быть, вы не включаете заголовок или что-то еще?

Я ожидаю, что это произойдет потому, что PHP явно был скомпилирован для Windows раньше.

...