Using Visual Studio.NET, I can build PHP fine using the php5ts
project/solution.

I have a problem, however, with another project I've added to the
solution which is a custom extension with no external (to PHP) library
dependencies. It was working (compiling, linking, and then being loaded
into PHP and run) just fine. However, when I added a call to
call_user_function_ex() in the extension, it wouldn't link anymore. I
get this error on linking:

error LNK2001: unresolved external symbol _executor_globals_id

I am calling call_user_function_ex() like this:

res = call_user_function_ex(EG(function_table), NULL,
                                    callback_func,
                                    &callback_retval,
                                    3,
                                    callback_params,
                                    0, NULL TSRMLS_CC);

so it seems that the executor_globals_id symbol comes from the use of
EG(function_table). The file with the call_user_function_ex() call
includes "zend_globals.h" which has the "extern int executor_globals_id"
statement in the #ifdef ZTS clause.

The extension compiles and links and runs just fine on Linux (presumably
because ZTS isn't defined.)

Is this something anyone else has run into? I can provide my .vcproj
file if that's helpful.

Thanks,
David

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to