Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP5.5 multiple compile errors (32bit) "illegal use of zend_object_iterator, unclassified identifier" #810

Closed
swen100 opened this issue Jul 9, 2013 · 4 comments

Comments

@swen100
Copy link

swen100 commented Jul 9, 2013

i get the following error when i want to compile 32bit with Visual-Studio 2012:

ext\phalcon\phalcon.c(41523) : error C2275: 'zend_object_iterator': illegal use of this type as an expression
c:\php-sdk\php55\vc11\x86\php-5.5.0\zend\zend_iterators.h(29): see declaration of 'zend_object_iterator'
ext\phalcon\phalcon.c(41523) : error C2065: 'it': unclassified identifier

I used the most recent code of Phalcon.

@ghost
Copy link

ghost commented Jul 9, 2013

Could you please try this tree: https://github.com/sjinks/cphalcon/tree/issue-810

And see if it compiles for you?

@swen100
Copy link
Author

swen100 commented Jul 10, 2013

no, sorry, does not.
phalcon.c
ext\phalcon\phalcon.c(5845) : error C2275: 'zend_class_entry': Ungültige Verwendung dieses Typs als Ausdruck
c:\php-sdk\php55\vc11\x86\php-5.5.0\zend\zend.h(302): Siehe Deklaration von 'zend_class_entry'
ext\phalcon\phalcon.c(5845) : error C2065: 'old_scope': nichtdeklarierter Bezeichner
ext\phalcon\phalcon.c(5879) : error C2065: 'old_scope': nichtdeklarierter Bezeichner
ext\phalcon\phalcon.c(5879) : warning C4047: '=': Anzahl der Dereferenzierungen bei 'zend_class_entry *' und '
int' unterschiedlich

@niden
Copy link
Member

niden commented Jul 10, 2013

@swen100

  • Open the 32bit phalcon.c
  • Go to line 5827 and below the
zend_class_entry *ce;

add

zend_class_entry *old_scope;
  • Go to line 5846 and change
zend_class_entry *old_scope = EG(scope);

to

old_scope = EG(scope);
  • Go to line 41489 and below the #endif add
zend_object_iterator* it;
  • Go to line 41525 and change it from
zend_object_iterator* it = ce0->get_iterator(ce0, iterator, 0 TSRMLS_CC);

to

it = ce0->get_iterator(ce0, iterator, 0 TSRMLS_CC);

Let me know if that works.

phalcon pushed a commit that referenced this issue Jul 11, 2013
Fix for #810 rebased against 1.2.1
@phalcon
Copy link
Collaborator

phalcon commented Jul 24, 2013

@swen100 can you try compiling from the current master?

@phalcon phalcon closed this as completed Jul 30, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants