ID:               39130
 Comment by:       grotaiche at hotmail dot com
 Reported By:      ben dot yan at msn dot com
 Status:           Assigned
 Bug Type:         Compile Failure
 Operating System: Windows
 PHP Version:      5.2.2
 Assigned To:      wez
 New Comment:

Yeah, I have the same problem too. I recompile my extension with VS
2005 for every PHP release and I have had the problem for a while.
Commenting the #define _USE_32BIT_TIME_T 1 line is not very difficult
but it is a by-pass ; a more viable solution would be appreciated :)
Thanks !


Previous Comments:
------------------------------------------------------------------------

[2007-06-02 10:52:53] cxd at webpan dot com

Trying to compile a module for PHP 5.2.3 with VC++ 2005 SP1 I also get
tons of error like:

error C2466: cannot allocate an array of constant size 0

This module (eAccelerator for Windows) compiled fine with VC++ 2005 SP1
and PHP 5.2.2.

The following might explain the cause of the problem (not sure?) that
was (re)introduced with 523( again my module compiles great with PHP 522
& VC++ 2005):

----------------------------------
deprecated "default to int" rule: 

Pre-standard C++ (and all C variants predating C99), use the "default
to int" rule when
declarations of functions and variables do not contain an explicit
datatype. 
This behavior is maintained in Visual C++ 6.0 as the following
declarations show: 


const x=0; //implicit int
static num; // implicit int
myfunc(void *ptr); //implicit return type int

In Visual Studio 2005, you have to specify the datatype explicitly:
const int x=0; static int num; int myfunc(void *ptr); 
--------------------
Hope this helps...

------------------------------------------------------------------------

[2007-05-19 18:24:06] [EMAIL PROTECTED]

Wez, you never got to the company laptop..? Or was it stolen? :D

------------------------------------------------------------------------

[2007-05-16 04:04:44] ben dot yan at msn dot com

I tried PHP5.2.2, but the problem is still there. :(

------------------------------------------------------------------------

[2007-04-14 05:00:20] dmain at themainfamily dot net

If I move this change, then the compiler errors are gone.  I still have
another separate issue with compilation though.


This would induce the compile error. and if 

#include <stdio.h>

BEHIND the 

#ifdef ZEND_WIN32
# include "zend_config.w32.h"
# define ZEND_PATHS_SEPARATOR           ';'
#elif defined(XXX)
...
#endif

,it will be ok.

------------------------------------------------------------------------

[2007-04-14 04:53:41] dmain at themainfamily dot net

This is my output when compiling a simple dll extension using the
sample source code in the online documentation.



1>------ Build started: Project: Win32_SystemCalls, Configuration:
Release_TS Win32 ------
1>Compiling...
1>Source1.c
1>C:\Program Files\Microsoft Visual Studio
8\VC\include\sys/stat.inl(44) : error C2466: cannot allocate an array of
constant size 0
1>C:\Program Files\Microsoft Visual Studio
8\VC\include\sys/stat.inl(49) : error C2466: cannot allocate an array of
constant size 0
1>c:\projects\phpextensions\php-5.2.1\tsrm\tsrm_config_common.h(4) :
fatal error C1017: invalid integer constant expression
1>Build log was saved at
"file://c:\Projects\PhpExtensions\php-5.2.1\ext\Win32_SystemCalls\Release_TS\BuildLog.htm"
1>Win32_SystemCalls - 3 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
==========

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/39130

-- 
Edit this bug report at http://bugs.php.net/?id=39130&edit=1

Reply via email to