安裝php5.4.10時, 錯誤:‘gdIOCtx’ 沒有名爲 ‘data’ 的成員

在安裝php時,報如下錯誤

In file included from /kk/php-5.4.0/ext/gd/gd.c:103:

/kk/php-5.4.0/ext/gd/gd_ctx.c: In function ‘_php_image_stream_putc’:

/kk/php-5.4.0/ext/gd/gd_ctx.c:51: 錯誤:‘struct gdIOCtx’ 沒有名爲 ‘data’ 的成員

/kk/php-5.4.0/ext/gd/gd_ctx.c: In function ‘_php_image_stream_putbuf’:

/kk/php-5.4.0/ext/gd/gd_ctx.c:58: 錯誤:‘struct gdIOCtx’ 沒有名爲 ‘data’ 的成員

/kk/php-5.4.0/ext/gd/gd_ctx.c: In function ‘_php_image_stream_ctxfree’:

/kk/php-5.4.0/ext/gd/gd_ctx.c:67: 錯誤:‘struct gdIOCtx’ 沒有名爲 ‘data’ 的成員

/kk/php-5.4.0/ext/gd/gd_ctx.c:68: 錯誤:‘struct gdIOCtx’ 沒有名爲 ‘data’ 的成員

/kk/php-5.4.0/ext/gd/gd_ctx.c:69: 錯誤:‘struct gdIOCtx’ 沒有名爲 ‘data’ 的成員

/kk/php-5.4.0/ext/gd/gd_ctx.c: In function ‘_php_image_output_ctx’:

/kk/php-5.4.0/ext/gd/gd_ctx.c:153: 錯誤:‘gdIOCtx’ 沒有名爲 ‘data’ 的成員

make: *** [ext/gd/gd.lo] 錯誤 1

好像說這個錯誤算是php5.4的bug,下面對應的兩篇文章有對應的說明:
https://bugs.php.net/bug.php?id=55224
https://bugs.php.net/bug.php?id=60108

解決方法

vi <gd_dir>/include/gd_io.h

gdIOCtx結構中增加void *data;

格式如下

 typedef struct gdIOCtx

{

  int (*getC) (struct gdIOCtx *);

  int (*getBuf) (struct gdIOCtx *, void *, int);

 

  void (*putC) (struct gdIOCtx *, int);

  int (*putBuf) (struct gdIOCtx *, const void *, int);

 

  /* seek must return 1 on SUCCESS, 0 on FAILURE. Unlike fseek! */

  int (*seek) (struct gdIOCtx *, const int);

 

  long (*tell) (struct gdIOCtx *);

 

  void (*gd_free) (struct gdIOCtx *);

  void (*data);

}

gdIOCtx;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章