编译示例时,libGD错误“不支持PNG”

时间:2019-12-11 11:27:22

标签: c

不知道如何告诉编译器找到PNG。

示例“ arc.c”来自libgd-2.2.5 / examples目录。我安装了gd-devel:#yum安装gd-devel。我什至尝试使用./configure、make、make install安装libgd-2.2.5;安装在“ / usr / local”中。而且,仍然出现此错误:像这样编译“ arc.c”时出现“不支持PNG”:

[none@localhost ~]$ gcc arc.c -I/usr/local/include -L/usr/local/include -lgd

[none@localhost ~]$ ls

a.out arc.c arc.o

[none@localhost ~]$ ./a.out

no PNG support

/ usr / local / lib的内容:<< libgd.a libgd.la libgd.so libgd.so.3 libgd.so.3.0.5 >>

还通过以下方法检查是否支持PNG:

[none@localhost ~]$ ldconfig -p | grep libpng

libpng16.so.16 (libc6,x86-64) => /lib64/libpng16.so.16

其中显示“ PNG支持”。

arc.c

01  #include "gd.h"
02  #include <stdio.h>
03  #include <stdlib.h>
04
05  int main()
06  {
07      gdImagePtr im;
08      FILE *fp;
09      int cor_rad = 60;
10      im = gdImageCreateTrueColor(400, 400);
11      gdImageFilledRectangle(im, 0, 0, 399, 399, 0x00FFFFFF);
12
13      gdImageFilledArc (im, cor_rad, 399 - cor_rad, cor_rad *2, cor_rad *2, 90, 180, 0x0, gdPie);
14
15      fp = fopen("b.png", "wb");
16      if (!fp) {
17          fprintf(stderr, "Can't save png image.\n");
18          gdImageDestroy(im);
19          return 1;
20      }
21  #ifdef HAVE_LIBPNG
22      gdImagePng(im, fp);
23  #else
24      printf("No PNG support. Cannot save image.\n");  
25  #endif
26      fclose(fp);
27
28      gdImageDestroy(im);
29      return 0;
30  }

很明显,错误来自第21行和第24行。在哪里验证了“ #ifdef HAVE_LIBPNG”?

如何告诉编译器找到PNG支持?

0 个答案:

没有答案