编译安装GD库出错解决(转)

一路编译安装LAMP以来出现了好多好多问题,Linux(Ubuntu),MySQL,Apache都正常安装了,而在安装PHP之前,安装GD库时又出现了一个问题,不过还好解决了,下面是报错信息

gd_png.c:16:53: error: png.h: No such file or directory
gd_png.c:47: error: expected specifier-qualifier-list before ‘jmp_buf’
gd_png.c:54: error: expected ‘)’ before ‘png_ptr’
gd_png.c:82: error: expected ‘)’ before ‘png_ptr’
gd_png.c:92: error: expected ‘)’ before ‘png_ptr’
gd_png.c:98: error: expected ‘)’ before ‘png_ptr’
gd_png.c: In function ‘gdImageCreateFromPngCtx’:
gd_png.c:125: error: ‘png_byte’ undeclared (first use in this function)
gd_png.c:125: error: (Each undeclared identifier is reported only once
gd_png.c:125: error: for each function it appears in.)
gd_png.c:125: error: expected ‘;’ before ‘sig’
gd_png.c:126: error: ‘png_structp’ undeclared (first use in this function)
gd_png.c:126: error: expected ‘;’ before ‘png_ptr’
gd_png.c:127: error: ‘png_infop’ undeclared (first use in this function)
gd_png.c:127: error: expected ‘;’ before ‘info_ptr’
gd_png.c:128: error: ‘png_uint_32′ undeclared (first use in this function)
gd_png.c:128: error: expected ‘;’ before ‘width’
gd_png.c:131: error: ‘png_colorp’ undeclared (first use in this function)
gd_png.c:131: error: expected ‘;’ before ‘palette’
gd_png.c:132: error: ‘png_color_16p’ undeclared (first use in this function)
gd_png.c:132: error: expected ‘;’ before ‘trans_gray_rgb’
gd_png.c:133: error: expected ‘;’ before ‘trans_color_rgb’
gd_png.c:134: error: ‘png_bytep’ undeclared (first use in this function)
gd_png.c:134: error: expected ‘;’ before ‘trans’
gd_png.c:135: error: expected ‘;’ before ‘image_data’
gd_png.c:136: error: ‘png_bytepp’ undeclared (first use in this function)
gd_png.c:136: error: expected ‘;’ before ‘row_pointers’
gd_png.c:144: error: ‘sig’ undeclared (first use in this function)
gd_png.c:157: error: ‘png_ptr’ undeclared (first use in this function)
gd_png.c:157: error: ‘PNG_LIBPNG_VER_STRING’ undeclared (first use in this function)
gd_png.c:157: error: ‘gdPngErrorHandler’ undeclared (first use in this function)
gd_png.c:166: error: ‘info_ptr’ undeclared (first use in this function)
gd_png.c:182: error: ‘jmpbuf_wrapper’ has no member named ‘jmpbuf’
gd_png.c:192: error: ‘gdPngReadData’ undeclared (first use in this function)
gd_png.c:195: error: ‘width’ undeclared (first use in this function)
gd_png.c:195: error: ‘height’ undeclared (first use in this function)
gd_png.c:196: error: ‘PNG_COLOR_TYPE_RGB’ undeclared (first use in this function)
gd_png.c:196: error: ‘PNG_COLOR_TYPE_RGB_ALPHA’ undeclared (first use in this function)
gd_png.c:204: error: ‘image_data’ undeclared (first use in this function)
gd_png.c:205: error: ‘row_pointers’ undeclared (first use in this function)
gd_png.c:220: error: ‘jmpbuf_wrapper’ has no member named ‘jmpbuf’
gd_png.c:233: error: ‘PNG_COLOR_TYPE_PALETTE’ undeclared (first use in this function)
gd_png.c:234: error: ‘palette’ undeclared (first use in this function)
gd_png.c:238: error: ‘PNG_INFO_tRNS’ undeclared (first use in this function)
gd_png.c:246: error: ‘trans’ undeclared (first use in this function)
gd_png.c:258: error: ‘PNG_COLOR_TYPE_GRAY’ undeclared (first use in this function)
gd_png.c:259: error: ‘PNG_COLOR_TYPE_GRAY_ALPHA’ undeclared (first use in this function)
gd_png.c:261: error: expected ‘)’ before ‘gdMalloc’
gd_png.c:280: error: ‘trans_gray_rgb’ undeclared (first use in this function)
gd_png.c:305: error: ‘trans_color_rgb’ undeclared (first use in this function)
gd_png.c:322: error: ‘rowbytes’ undeclared (first use in this function)
gd_png.c:327: error: expected ‘;’ before ‘gdMalloc’
gd_png.c:345: error: expected ‘;’ before ‘gdMalloc’
gd_png.c:357: error: ‘h’ undeclared (first use in this function)
gd_png.c:381: error: ‘PNG_INTERLACE_ADAM7′ undeclared (first use in this function)
gd_png.c:389: error: ‘w’ undeclared (first use in this function)
gd_png.c:390: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r’
gd_png.c:390: error: ‘r’ undeclared (first use in this function)
gd_png.c:391: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g’
gd_png.c:391: error: ‘g’ undeclared (first use in this function)
gd_png.c:392: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘b’
gd_png.c:392: error: ‘b’ undeclared (first use in this function)
gd_png.c:401: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘r’
gd_png.c:402: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘g’
gd_png.c:403: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘b’
gd_png.c:410: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘a’
gd_png.c:410: error: ‘a’ undeclared (first use in this function)
gd_png.c:419: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘idx’
gd_png.c:419: error: ‘idx’ undeclared (first use in this function)
gd_png.c: In function ‘gdImagePngCtxEx’:
gd_png.c:499: error: ‘png_byte’ undeclared (first use in this function)
gd_png.c:499: error: expected ‘;’ before ‘trans_values’
gd_png.c:500: error: ‘png_color_16′ undeclared (first use in this function)
gd_png.c:500: error: expected ‘;’ before ‘trans_rgb_value’
gd_png.c:501: error: ‘png_color’ undeclared (first use in this function)
gd_png.c:501: error: expected ‘;’ before ‘palette’
gd_png.c:502: error: ‘png_structp’ undeclared (first use in this function)
gd_png.c:502: error: expected ‘;’ before ‘png_ptr’
gd_png.c:503: error: ‘png_infop’ undeclared (first use in this function)
gd_png.c:503: error: expected ‘;’ before ‘info_ptr’
gd_png.c:508: error: ‘png_ptr’ undeclared (first use in this function)
gd_png.c:508: error: ‘PNG_LIBPNG_VER_STRING’ undeclared (first use in this function)
gd_png.c:509: error: ‘gdPngErrorHandler’ undeclared (first use in this function)
gd_png.c:520: error: ‘info_ptr’ undeclared (first use in this function)
gd_png.c:524: error: ‘png_infopp’ undeclared (first use in this function)
gd_png.c:529: error: ‘jmpbuf_wrapper’ has no member named ‘jmpbuf’
gd_png.c:537: error: ‘gdPngWriteData’ undeclared (first use in this function)
gd_png.c:538: error: ‘gdPngFlushData’ undeclared (first use in this function)
gd_png.c:595: error: ‘PNG_INTERLACE_ADAM7′ undeclared (first use in this function)
gd_png.c:595: error: ‘PNG_INTERLACE_NONE’ undeclared (first use in this function)
gd_png.c:602: error: ‘PNG_COLOR_TYPE_RGB_ALPHA’ undeclared (first use in this function)
gd_png.c:603: error: ‘PNG_COMPRESSION_TYPE_DEFAULT’ undeclared (first use in this function)
gd_png.c:604: error: ‘PNG_FILTER_TYPE_DEFAULT’ undeclared (first use in this function)
gd_png.c:609: error: ‘PNG_COLOR_TYPE_RGB’ undeclared (first use in this function)
gd_png.c:617: error: ‘PNG_COLOR_TYPE_PALETTE’ undeclared (first use in this function)
gd_png.c:623: error: ‘trans_rgb_value’ undeclared (first use in this function)
gd_png.c:672: error: ‘trans_values’ undeclared (first use in this function)
gd_png.c:694: error: ‘palette’ undeclared (first use in this function)
gd_png.c:725: error: ‘png_bytep’ undeclared (first use in this function)
gd_png.c:725: error: ‘row_pointers’ undeclared (first use in this function)
gd_png.c:731: error: ‘prow_pointers’ undeclared (first use in this function)
gd_png.c:747: error: expected ‘)’ before ‘gdMalloc’
gd_png.c:804: error: expected ‘)’ before ‘gdMalloc’
make[2]: *** [gd_png.lo] 错误 1
make[2]:正在离开目录 `/usr/local/src/modules/gd-2.0.35′
make[1]: *** [all-recursive] 错误 1
make[1]:正在离开目录 `/usr/local/src/modules/gd-2.0.35′
make: *** [all] 错误 2

很显然,这是引入png库出现的问题,解决方法

进入gd源代码目录:

vi gd_png.c

将16行的png.h修改成 libpng安装目录/include/png.h

我这边就是:

/usr/local/libpng/include/png.h

make && make install 成功

原文地址:https://www.cnblogs.com/xingmeng/p/3082927.html