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.

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 ÒÑÌø¹ý
  • 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!
  • mes
    mes California
    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,
    - Mark
  • mes
    mes California
    Hi,

    We've released IcePHP 1.1.2 to fix the Windows compilation error.

    Thanks again,
    - Mark
  • I'm glad to hear it ! :-)