Archived
This forum has been archived. Please start a new discussion on GitHub.
build php_ice 1.1.1 error. proxy.cpp line 183
proxy.cpp line 183:
_handlers.clone_obj = handleClone;
_handlers.clone_obj is define to :
(zend_object_handlers.h line 104)
typedef struct _zend_object_handlers {
...
zend_object_clone_obj_t clone_obj;
...
but the handleClone is define to :
zend_object_value handleClone(zval* TSRMLS_DC);
that is not compatibility with zend_object_clone_obj_t:
typedef zend_object_value (*zend_object_clone_obj_t)(zval *object TSRMLS_DC);
I got build error in vs.net 2003.
Thanks for you see it and help me to fix it.
_handlers.clone_obj = handleClone;
_handlers.clone_obj is define to :
(zend_object_handlers.h line 104)
typedef struct _zend_object_handlers {
...
zend_object_clone_obj_t clone_obj;
...
but the handleClone is define to :
zend_object_value handleClone(zval* TSRMLS_DC);
that is not compatibility with zend_object_clone_obj_t:
typedef zend_object_value (*zend_object_clone_obj_t)(zval *object TSRMLS_DC);
I got build error in vs.net 2003.
Thanks for you see it and help me to fix it.
0
Comments
-
why not compatibility?
ÒÑÆô¶¯Éú³É: ÏîÄ¿: php_ice, ÅäÖÃ: Release Win32
ÕýÔÚ±àÒë...
proxy.cpp
proxy.cpp(185) : error C2440: ¡°=¡± : ÎÞ·¨´Ó¡°zend_object_value (__cdecl *)(zval *,void *** )¡±×ª»»Îª¡°zend_object_clone_obj_t¡±
UDT ·µ»ØÖµµÄ²»¼æÈݵ÷ÓÃÔ¼¶¨
communicator.cpp
communicator.cpp(70) : error C2440: ¡°=¡± : ÎÞ·¨´Ó¡°zend_object_value (__cdecl *)(zval *,void *** )¡±×ª»»Îª¡°zend_object_clone_obj_t¡±
UDT ·µ»ØÖµµÄ²»¼æÈݵ÷ÓÃÔ¼¶¨
ÕýÔÚÉú³É´úÂë...
Éú³ÉÈÕÖ¾±£´æÔÚ¡°file://e:\Projects\JetRocket\base\IcePhp\IcePHP-1.1.1\src\ice\Release\BuildLog.htm¡±ÖÐ
php_ice - 2 ´íÎó£¬0 ¾¯¸æ
Íê³É
Éú³É: 0 Òѳɹ¦, 1 ÒÑʧ°Ü, 0 ÒÑÌø¹ý0 -
I got it ! is call type not match !
modify ice_common.h
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "zend_interfaces.h"
#include "zend_exceptions.h"
to follow:
extern "C"
{
#include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "zend_interfaces.h"
#include "zend_exceptions.h"
}
then build ok!0 -
We actually removed the extern "C" wrapper shortly before release in order to satisfy a compiler on a different platform, and neglected to verify that it still compiled on Windows. Thanks for bringing this to our attention, we will fix this for the next release.
Take care,
- Mark0 -
Hi,
We've released IcePHP 1.1.2 to fix the Windows compilation error.
Thanks again,
- Mark0 -
I'm glad to hear it ! :-)0