Libharu用windows.h创建关于pngtest.c的错误

Libharu creates errors about pngtest.c with windows.h

本文关键字:pngtest 错误 windows 创建 Libharu      更新时间:2023-10-16

我在这里遇到了一个很容易解决的libharu问题;但不幸的是,当我解决第一个问题时,第二个问题出现了。
我在Windows 7中使用Codeblocks IDE与GNU GCC c++编译器(MingGW)。我编写了libharu。libpng。A和zlib。并将它们以正确的顺序链接到我的主要项目。因此,它可以很好地编译并创建我的.pdf
但是,当我添加

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
//Insert further code here...
}

在我的代码中,它给出了大量与libpng相关的错误,特别是pngtest.c。当我简单地将"int WINAPI WinMain(…)"与"int main"交换时,一切都运行正常(当然,除了它在终端中运行)并创建正确的。pdf文件。
日志文件:

C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x13b): undefined reference to `png_get_error_ptr'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x236): undefined reference to `png_create_read_struct'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x256): undefined reference to `png_set_error_fn'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x262): undefined reference to `png_create_info_struct'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x272): undefined reference to `png_create_info_struct'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x293): undefined reference to `png_set_read_fn'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x2b4): undefined reference to `png_set_read_status_fn'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x2c8): undefined reference to `png_read_info'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x314): undefined reference to `png_get_IHDR'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x33c): undefined reference to `png_get_PLTE'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x358): undefined reference to `png_get_rowbytes'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x368): undefined reference to `png_malloc'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x39c): undefined reference to `png_read_rows'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x3b7): undefined reference to `png_read_end'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x3cb): undefined reference to `png_free'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x3ef): undefined reference to `png_destroy_read_struct'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x54c): undefined reference to `png_set_PLTE'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x5a0): undefined reference to `png_set_IHDR'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x5bc): undefined reference to `png_set_read_status_fn'
C:Libslibpng-1.5.13libpng.a(pngtest.o):pngtest.c:(.text+0x11d): undefined reference to `png_error'

谢谢你的帮助。

要在使用gcc时删除控制台,只需在链接器标志中添加-mwindows。WinMain()不是必需的