Thanks a lot, i'll give it a try.

"J Smith" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
>
> I've been working on this sort of thing for the past few weeks as I've
been
> trying to make sure all of the PHP extensions I've written work on UNIX
> systems as well as Windows systems.
>
> I think you can compile using gcc and cygwin, but I believe the
recommended
> way is with Visual C++ 6, as the official binaries are done with VC++. (I
> think, I don't use PHP in Windows except to test portability.)
>
> Anyways, here's what I do as far as settings. This is for a thread-safe
> release extension. I'm assuming you have a bit of experience working with
> VC++ and the PHP source, and that you're able to compile PHP in the first
> place.
>
> 0. Start a new project in VC++ and add your extension's files.
>
> 1. In the Configurations dialog, add two configurations: Release_TS and
> Debug_TS. Release_TS should copy the settings from Release and Debug_TS
> should obviously copy from Debug. You can Remove Release and Debug and
> close the dialog. The next set of steps is for the Release_TS
> configuration. If you can figure that out, you should be able to get
> Debug_TS working fine.
>
> 2. Open up Project->Settings. On the C/C++ tab, General Category, added
the
> following preprocessor definitions: ZEND_DEBUG=0,
> COMPILE_DL_YOUR_EXTENSION_NAME, ZTS=1, ZEND_WIN32, PHP_WIN32.
> YOUR_EXTENSION_NAME is the name you'll find in the sources generated by
> ext_skel.
>
> 3. In the Code Generation Category, change Use run-time Library to
> "Multithreaded DLL".
>
> 4. In the Preprocessor Category, add the following "Additional include
> directories": ..\.., ..\..\main, ..\..\Zend, ..\..\TSRM,
..\..\bindlib_w32.
>
> 5. On the Link tab in the General Category, change the Output file name to
> ..\..\Release_TS/php_yourextension.dll.
>
> 6. On that same tab, same category, add php4ts.lib to Object/library
> modules.
>
> 7. In the Input Category, add the following to Additional library path:
> ..\..\Release_TS.
>
> That should be it. Close dialog and set the active configuration to
> Release_TS and (hopefully) build the DLL.
>
> If you're using other libraries and such, make sure you compile them using
> the multithreaded DLL runtime library like you did with your extension. I
> found that out the hard way trying to get my cryptopp extension working on
> Windows.
>
> Check out some of the VC++ project files included with the PHP source when
> you're stuck and try to replicate the settings they use in your own
> project. It takes a while to get used to building extensions with VC++
> 'cause that sort of thing is so poorly documented in the Windows world,
but
> once you get it once you should be fine.
>
> J
>
>
> Igal Raizman wrote:
>
> > Hello,
> >
> > Can someone point me in the directions of a tutorial or perhaps some
info
> > on making PHP extensions on a Windows system ?
> >
> > not on how to code them, but rather on how to compile them on a windows
> > system.
> >
> > Thanks,
>



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

Reply via email to