在Windows上从源代码构建PHP时,类似的语法会导致奇怪的,重复的编译错误

时间:2009-12-04 02:27:37

标签: c compiler-construction build compiler-errors php-internals

我正在尝试从源these指令构建PHP。配置工作非常好,但是当我到达nmake部分时,情况就会崩溃。我不知道为什么我得到关于struct的错误,引用的行是函数!

我把有问题的zend_interfaces.c here放了。

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 个答案:

答案 0 :(得分:1)

您确定zend_class_entry被定义为变量类型,也许您没有包含标题或其他内容?

我希望这可能是因为很明显PHP已经为Windows编译过了。

答案 1 :(得分:1)

我刚从函数中删除了第一个参数,因为它们似乎没有被使用。

现在一切正常......

...奇怪

编辑:我刚刚重新加载了源