2012-05-08 9 views
6
png_read_info (png_ptr, info_ptr); 
{ 
    png_byte color_type = info_ptr->color_type; 
    png_byte bit_depth = info_ptr->bit_depth; 
    ... 

を参照解除する私が間違って何のlibpng 1.5.10エラー:最後の2行については不完全型へのポインタ

error: dereferencing pointer to incomplete type

を取得しますか? libpng 1.4では、これは常にOKでした。

+1

これは、あなたが適切なヘッダを含めていないことを意味します。 – Shahbaz

+1

@Shahbaz 'png.h'が含まれています。 '-I/usr/include/libpng15'が存在します。 – askovpen

答えて

17

png_info構造体は、1.5.0でpng.hから除去し、今はpng_get_*png_set_*機能を備えたこのポインタを使用する必要があります。 libpng manualで指定されているように

例えば

The png_info structure is designed to provide information about the PNG file. At one time, the fields of png_info were intended to be directly accessible to the user. However, this tended to cause problems with applications using dynamically loaded libraries, and as a result a set of interface functions for png_info (the png_get_*() and png_set_*() functions) was developed, and direct access to the png_info fields was deprecated..

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

は存在しません。関数 'png_get_width'、' png_get_height'。 'info_ptr-> height'、' info_ptr-> width'を得る方法は? – askovpen

+0

これには一致する関数があります。編集を参照してください。 – MByD

関連する問題