链接 libpng 时未定义的引用

问题描述

我正在编译一个需要 libpng 的行星地图生成器。虽然我成功修复了其他错误,但无法删除

png_utils.o:png_utils.c:(.text+0x91): undefined reference to `png_create_write_struct'
png_utils.o:png_utils.c:(.text+0xa4): undefined reference to `png_create_info_struct'
png_utils.o:png_utils.c:(.text+0xca): undefined reference to `png_set_longjmp_fn'
png_utils.o:png_utils.c:(.text+0x135): undefined reference to `png_set_IHDR'
png_utils.o:png_utils.c:(.text+0x14e): undefined reference to `png_malloc'
png_utils.o:png_utils.c:(.text+0x19e): undefined reference to `png_malloc'
png_utils.o:png_utils.c:(.text+0x217): undefined reference to `png_init_io'
png_utils.o:png_utils.c:(.text+0x230): undefined reference to `png_set_rows'
png_utils.o:png_utils.c:(.text+0x252): undefined reference to `png_write_png'
png_utils.o:png_utils.c:(.text+0x281): undefined reference to `png_free'
png_utils.o:png_utils.c:(.text+0x297): undefined reference to `png_free'
png_utils.o:png_utils.c:(.text+0x2af): undefined reference to `png_destroy_write_struct'
png_utils.o:png_utils.c:(.text+0x35e): undefined reference to `png_malloc'
png_utils.o:png_utils.c:(.text+0x47c): undefined reference to `png_destroy_read_struct'
png_utils.o:png_utils.c:(.text+0x4b4): undefined reference to `png_sig_cmp'
png_utils.o:png_utils.c:(.text+0x4e0): undefined reference to `png_create_read_struct'
png_utils.o:png_utils.c:(.text+0x4f3): undefined reference to `png_create_info_struct'
png_utils.o:png_utils.c:(.text+0x509): undefined reference to `png_create_info_struct'
png_utils.o:png_utils.c:(.text+0x52f): undefined reference to `png_set_longjmp_fn'
png_utils.o:png_utils.c:(.text+0x60e): undefined reference to `png_init_io'
png_utils.o:png_utils.c:(.text+0x621): undefined reference to `png_set_sig_bytes'
png_utils.o:png_utils.c:(.text+0x643): undefined reference to `png_read_png'
png_utils.o:png_utils.c:(.text+0x689): undefined reference to `png_get_IHDR'
png_utils.o:png_utils.c:(.text+0x6f2): undefined reference to `png_get_rowbytes'
png_utils.o:png_utils.c:(.text+0x718): undefined reference to `png_get_rows'
png_utils.o:png_utils.c:(.text+0x941): undefined reference to `png_destroy_read_struct'

我在没有安装 msys2 的情况下使用 MinGW-x64 和 mingw32-make。 libpng 1.6.37-4 安装在两个文件夹中,我使用了 -lpng 和 -lpng16 但它仍然没有工作。

解决方法

没关系,我正在编译的程序有一个适用于 Windows 的补丁来防止出现该错误。