libpng 1.5.10错误:解除引用指向不完整类型的指针

时间:2012-05-08 22:45:26

标签: c libpng

png_read_info (png_ptr, info_ptr);
{ 
    png_byte color_type = info_ptr->color_type;
    png_byte bit_depth  = info_ptr->bit_depth;
    ...

最后2行我得到

  

错误:取消引用指向不完整类型的指针

怎么了?在libpng 1.4中,这总是好的。

2 个答案:

答案 0 :(得分:18)

{1.5}中的png_info已删除png.h结构,现在您应该将此指针与png_get_*png_set_*函数一起使用。

libpng manual中所述:

  

png_info结构旨在提供有关的信息   PNG文件。有一次,png_info的字段是有意的   可直接访问用户。但是,这往往导致   使用动态加载库的应用程序的问题,以及   结果png_info的一组接口函数(png_get _ *()   和png_set _ *()函数)开发,并直接访问   png_info字段已弃用..

例如:

png_uint_32 height;
height = png_get_image_height( png_ptr,  info_ptr);

答案 1 :(得分:1)

如果您尝试设置不再直接可访问的info_ptr的内容,请使用png_set_IHDR()

根据libpng manual

中的说明