Dear Dr. Sauermann,
Thanks, but I get a different error now as follows:
[...]
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I /home/blake/Backup/apl -I/usr/include -I/usr/include -Wno-maybe-uninitialized -Wno-class-memaccess -I /home/blake/Backup/apl -MT apl-Quad_GTK.o -MD -MP -MF .deps/apl-Quad_GTK.Tpo -c -o apl-Quad_GTK.o `test -f 'Quad_GTK.cc' || echo './'`Quad_GTK.cc
mv -f .deps/apl-Quad_GTK.Tpo .deps/apl-Quad_GTK.Po
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I /home/blake/Backup/apl -I/usr/include -I/usr/include -Wno-maybe-uninitialized -Wno-class-memaccess -I /home/blake/Backup/apl -MT apl-Quad_JSON.o -MD -MP -MF .deps/apl-Quad_JSON.Tpo -c -o apl-Quad_JSON.o `test -f 'Quad_JSON.cc' || echo './'`Quad_JSON.cc
mv -f .deps/apl-Quad_JSON.Tpo .deps/apl-Quad_JSON.Po
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I /home/blake/Backup/apl -I/usr/include -I/usr/include -Wno-maybe-uninitialized -Wno-class-memaccess -I /home/blake/Backup/apl -MT apl-Quad_MAP.o -MD -MP -MF .deps/apl-Quad_MAP.Tpo -c -o apl-Quad_MAP.o `test -f 'Quad_MAP.cc' || echo './'`Quad_MAP.cc
mv -f .deps/apl-Quad_MAP.Tpo .deps/apl-Quad_MAP.Po
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I /home/blake/Backup/apl -I/usr/include -I/usr/include -Wno-maybe-uninitialized -Wno-class-memaccess -I /home/blake/Backup/apl -MT apl-Quad_PLOT.o -MD -MP -MF .deps/apl-Quad_PLOT.Tpo -c -o apl-Quad_PLOT.o `test -f 'Quad_PLOT.cc' || echo './'`Quad_PLOT.cc
mv -f .deps/apl-Quad_PLOT.Tpo .deps/apl-Quad_PLOT.Po
g++ -DHAVE_CONFIG_H -I. -I.. -Wall -I sql -I /home/blake/Backup/apl -I/usr/include -I/usr/include -Wno-maybe-uninitialized -Wno-class-memaccess -I /home/blake/Backup/apl -MT apl-Quad_PNG.o -MD -MP -MF .deps/apl-Quad_PNG.Tpo -c -o apl-Quad_PNG.o `test -f 'Quad_PNG.cc' || echo './'`Quad_PNG.cc
Quad_PNG.cc:143:1: error: variable or field ‘PNG_warn’ declared void
143 | PNG_warn(png_structp png_ptr, png_const_charp reason)
| ^~~~~~~~
Quad_PNG.cc:143:10: error: ‘png_structp’ was not declared in this scope
143 | PNG_warn(png_structp png_ptr, png_const_charp reason)
| ^~~~~~~~~~~
Quad_PNG.cc:143:31: error: ‘png_const_charp’ was not declared in this scope
143 | PNG_warn(png_structp png_ptr, png_const_charp reason)
| ^~~~~~~~~~~~~~~
Quad_PNG.cc:150:1: error: variable or field ‘PNG_err’ declared void
150 | PNG_err(png_structp png_ptr, png_const_charp reason)
| ^~~~~~~
Quad_PNG.cc:150:9: error: ‘png_structp’ was not declared in this scope
150 | PNG_err(png_structp png_ptr, png_const_charp reason)
| ^~~~~~~~~~~
Quad_PNG.cc:150:30: error: ‘png_const_charp’ was not declared in this scope
150 | PNG_err(png_structp png_ptr, png_const_charp reason)
| ^~~~~~~~~~~~~~~
Quad_PNG.cc: In static member function ‘static Value_P Quad_PNG::read_PNG_file(const UTF8_string&)’:
Quad_PNG.cc:179:1: error: ‘png_structp’ was not declared in this scope
179 | png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
| ^~~~~~~~~~~
Quad_PNG.cc:181:9: error: ‘png_ptr’ was not declared in this scope
181 | if (!png_ptr) WS_FULL;
| ^~~~~~~
Quad_PNG.cc:183:1: error: ‘png_infop’ was not declared in this scope
183 | png_infop info_ptr = png_create_info_struct(png_ptr);
| ^~~~~~~~~
Quad_PNG.cc:184:9: error: ‘info_ptr’ was not declared in this scope; did you mean ‘ino_t’?
184 | if (!info_ptr) WS_FULL;
| ^~~~~~~~
| ino_t
Quad_PNG.cc:186:17: error: ‘png_ptr’ was not declared in this scope
186 | png_init_io(png_ptr, in);
| ^~~~~~~
Quad_PNG.cc:186:5: error: ‘png_init_io’ was not declared in this scope
186 | png_init_io(png_ptr, in);
| ^~~~~~~~~~~
Quad_PNG.cc:193:27: error: ‘info_ptr’ was not declared in this scope; did you mean ‘ino_t’?
193 | png_read_info(png_ptr, info_ptr);
| ^~~~~~~~
| ino_t
Quad_PNG.cc:193:4: error: ‘png_read_info’ was not declared in this scope
193 | png_read_info(png_ptr, info_ptr);
| ^~~~~~~~~~~~~
Quad_PNG.cc:197:19: error: ‘png_get_image_width’ was not declared in this scope
197 | const int width = png_get_image_width(png_ptr, info_ptr);
| ^~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:198:20: error: ‘png_get_image_height’ was not declared in this scope
198 | const int height = png_get_image_height(png_ptr, info_ptr);
| ^~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:199:24: error: ‘png_get_color_type’ was not declared in this scope
199 | const int color_type = png_get_color_type(png_ptr, info_ptr);
| ^~~~~~~~~~~~~~~~~~
Quad_PNG.cc:200:23: error: ‘png_get_bit_depth’ was not declared in this scope
200 | const int bit_depth = png_get_bit_depth(png_ptr, info_ptr);
| ^~~~~~~~~~~~~~~~~
Quad_PNG.cc:239:22: error: ‘PNG_COLOR_TYPE_PALETTE’ was not declared in this scope
239 | if (color_type == PNG_COLOR_TYPE_PALETTE) // color palettes → RGB
| ^~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:240:7: error: ‘png_set_palette_to_rgb’ was not declared in this scope
240 | png_set_palette_to_rgb(png_ptr);
| ^~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:242:22: error: ‘PNG_COLOR_TYPE_GRAY’ was not declared in this scope
242 | if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) // bits → byte
| ^~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:243:7: error: ‘png_set_expand_gray_1_2_4_to_8’ was not declared in this scope
243 | png_set_expand_gray_1_2_4_to_8(png_ptr);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:246:7: error: ‘PNG_INFO_tRNS’ was not declared in this scope
246 | PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png_ptr);
| ^~~~~~~~~~~~~
Quad_PNG.cc:245:8: error: ‘png_get_valid’ was not declared in this scope
245 | if (png_get_valid(png_ptr, info_ptr,
| ^~~~~~~~~~~~~
Quad_PNG.cc:246:23: error: ‘png_set_tRNS_to_alpha’ was not declared in this scope
246 | PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png_ptr);
| ^~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:249:4: error: ‘png_read_update_info’ was not declared in this scope
249 | png_read_update_info(png_ptr, info_ptr);
| ^~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:251:4: error: ‘png_read_image’ was not declared in this scope
251 | png_read_image(png_ptr, row_pointers);
| ^~~~~~~~~~~~~~
Quad_PNG.cc:253:4: error: ‘png_read_end’ was not declared in this scope
253 | png_read_end(png_ptr, info_ptr);
| ^~~~~~~~~~~~
Quad_PNG.cc:302:4: error: ‘png_destroy_read_struct’ was not declared in this scope
302 | png_destroy_read_struct(&png_ptr, &info_ptr, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc: In static member function ‘static bool Quad_PNG::valid_type_and_bits(int, int)’:
Quad_PNG.cc:458:14: error: ‘PNG_COLOR_TYPE_GRAY’ was not declared in this scope
458 | case PNG_COLOR_TYPE_GRAY: // type 0: 1, 2, 4, 8, or 16
| ^~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:461:14: error: ‘PNG_COLOR_TYPE_RGB’ was not declared in this scope
461 | case PNG_COLOR_TYPE_RGB: // type 2: 8 or 16
| ^~~~~~~~~~~~~~~~~~
Quad_PNG.cc:462:14: error: ‘PNG_COLOR_TYPE_GRAY_ALPHA’ was not declared in this scope
462 | case PNG_COLOR_TYPE_GRAY_ALPHA: // type 4: 8 or 16
| ^~~~~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:463:14: error: ‘PNG_COLOR_TYPE_RGB_ALPHA’ was not declared in this scope
463 | case PNG_COLOR_TYPE_RGB_ALPHA: // type 6: 8 or 16
| ^~~~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc: In static member function ‘static void Quad_PNG::write_PNG_file(const char*, int, const Value&)’:
Quad_PNG.cc:478:41: error: ‘PNG_COLOR_TYPE_GRAY’ was not declared in this scope
478 | if (planes == 1) color_type = PNG_COLOR_TYPE_GRAY;
| ^~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:479:41: error: ‘PNG_COLOR_TYPE_GRAY_ALPHA’ was not declared in this scope
479 | else if (planes == 2) color_type = PNG_COLOR_TYPE_GRAY_ALPHA;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:480:41: error: ‘PNG_COLOR_TYPE_RGB’ was not declared in this scope
480 | else if (planes == 3) color_type = PNG_COLOR_TYPE_RGB;
| ^~~~~~~~~~~~~~~~~~
Quad_PNG.cc:481:41: error: ‘PNG_COLOR_TYPE_RGB_ALPHA’ was not declared in this scope
481 | else if (planes == 4) color_type = PNG_COLOR_TYPE_RGB_ALPHA;
| ^~~~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:489:40: error: ‘PNG_COLOR_MASK_PALETTE’ was not declared in this scope
489 | const bool palette_used = color_type & PNG_COLOR_MASK_PALETTE; // 0x01
| ^~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:490:40: error: ‘PNG_COLOR_MASK_COLOR’ was not declared in this scope
490 | const bool color_used = color_type & PNG_COLOR_MASK_COLOR; // 0x02
| ^~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:491:40: error: ‘PNG_COLOR_MASK_ALPHA’ was not declared in this scope
491 | const bool alpha_used = color_type & PNG_COLOR_MASK_ALPHA; // 0x04
| ^~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:508:1: error: ‘png_structp’ was not declared in this scope
508 | png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,
| ^~~~~~~~~~~
Quad_PNG.cc:510:9: error: ‘png_ptr’ was not declared in this scope
510 | if (!png_ptr) WS_FULL;
| ^~~~~~~
Quad_PNG.cc:512:1: error: ‘png_infop’ was not declared in this scope
512 | png_infop info_ptr = png_create_info_struct(png_ptr);
| ^~~~~~~~~
Quad_PNG.cc:513:10: error: ‘info_ptr’ was not declared in this scope; did you mean ‘ino_t’?
513 | if (!info_ptr) WS_FULL;
| ^~~~~~~~
| ino_t
Quad_PNG.cc:515:16: error: ‘png_ptr’ was not declared in this scope
515 | png_init_io(png_ptr, out);
| ^~~~~~~
Quad_PNG.cc:515:4: error: ‘png_init_io’ was not declared in this scope
515 | png_init_io(png_ptr, out);
| ^~~~~~~~~~~
Quad_PNG.cc:519:1: error: ‘png_text’ was not declared in this scope
519 | png_text text_ptr[1];
| ^~~~~~~~
Quad_PNG.cc:520:11: error: ‘text_ptr’ was not declared in this scope
520 | memset(text_ptr, 0, sizeof(text_ptr));
| ^~~~~~~~
Quad_PNG.cc:521:30: error: ‘PNG_TEXT_COMPRESSION_NONE’ was not declared in this scope
521 | text_ptr[0].compression = PNG_TEXT_COMPRESSION_NONE;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:527:26: error: ‘info_ptr’ was not declared in this scope; did you mean ‘ino_t’?
527 | png_set_text(png_ptr, info_ptr, text_ptr, 1);
| ^~~~~~~~
| ino_t
Quad_PNG.cc:527:4: error: ‘png_set_text’ was not declared in this scope; did you mean ‘ngettext’?
527 | png_set_text(png_ptr, info_ptr, text_ptr, 1);
| ^~~~~~~~~~~~
| ngettext
Quad_PNG.cc:610:40: error: ‘PNG_INTERLACE_NONE’ was not declared in this scope
610 | bit_depth, color_type, PNG_INTERLACE_NONE,
| ^~~~~~~~~~~~~~~~~~
Quad_PNG.cc:611:17: error: ‘PNG_COMPRESSION_TYPE_DEFAULT’ was not declared in this scope
611 | PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:611:47: error: ‘PNG_FILTER_TYPE_DEFAULT’ was not declared in this scope
611 | PNG_COMPRESSION_TYPE_DEFAULT, PNG_FILTER_TYPE_DEFAULT);
| ^~~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:609:4: error: ‘png_set_IHDR’ was not declared in this scope
609 | png_set_IHDR(png_ptr, info_ptr, width, height,
| ^~~~~~~~~~~~
Quad_PNG.cc:612:4: error: ‘png_set_rows’ was not declared in this scope
612 | png_set_rows(png_ptr, info_ptr, row_pointers);
| ^~~~~~~~~~~~
Quad_PNG.cc:614:37: error: ‘PNG_TRANSFORM_IDENTITY’ was not declared in this scope
614 | png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, 0);
| ^~~~~~~~~~~~~~~~~~~~~~
Quad_PNG.cc:614:4: error: ‘png_write_png’ was not declared in this scope
614 | png_write_png(png_ptr, info_ptr, PNG_TRANSFORM_IDENTITY, 0);
| ^~~~~~~~~~~~~
Quad_PNG.cc:615:4: error: ‘png_write_image’ was not declared in this scope
615 | png_write_image(png_ptr, row_pointers);
| ^~~~~~~~~~~~~~~
Quad_PNG.cc:616:4: error: ‘png_write_end’ was not declared in this scope
616 | png_write_end(png_ptr, info_ptr);
| ^~~~~~~~~~~~~
Quad_PNG.cc:622:4: error: ‘png_destroy_write_struct’ was not declared in this scope
622 | png_destroy_write_struct(&png_ptr, &info_ptr);
| ^~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:4704: apl-Quad_PNG.o] Error 1
make[3]: Leaving directory '/home/blake/Backup/apl/src'
make[2]: *** [Makefile:5340: all-recursive] Error 1
make[2]: Leaving directory '/home/blake/Backup/apl/src'
make[1]: *** [Makefile:542: all-recursive] Error 1
make[1]: Leaving directory '/home/blake/Backup/apl'