If I build it on Ubuntu 18 it gives following error:
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"corona\" -DVERSION=\"1.0.2\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DSTDC_HEADERS=1 -I. -I. -I ../src/libungif-4.1.0 -g -O2 -Wall -Wno-non-virtual-dtor -MT OpenPNG.lo -MD -MP -MF .deps/OpenPNG.Tpo -c OpenPNG.cpp -fPIC -DPIC -o .libs/OpenPNG.lo
OpenPNG.cpp: In function 'void corona::PNG_error_function(png_structp, png_const_charp)':
OpenPNG.cpp:43:41: error: invalid use of incomplete type 'png_struct {aka struct png_struct_def}'
memcpy((void)jmpbuf,(void) png_ptr->jmpbuf, sizeof(jmp_buf));
^
In file included from OpenPNG.cpp:8:0:
/usr/include/png.h:470:16: note: forward declaration of 'png_struct {aka struct png_struct_def}'
typedef struct png_struct_def png_struct;