1
我遇到了libharu的一個簡單可解的問題,我問了here;但不幸的是,當我解決第一個問題時,出現了第二個問題。
我在Windows 7中使用Codeblocks IDE和GNU GCC C++編譯器(MingGW)編譯libharu.a,libpng.a和zlib.a並將它們按正確的順序鏈接到我的主項目。因此,它編譯好,創建我的.PDF
然而,當我添加Libharu用windows.h創建關於pngtest.c的錯誤
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
//Insert further code here...
}
到我的代碼它給libpng一起相關的錯誤的量,specificly pngtest.c。當我簡單地將「int WINAPI WinMain(...)」與「int main」互換時,一切運行正常(當然除了它在終端中運行)並創建正確的.pdf文件。
我的日誌文件:
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x13b): undefined reference to `png_get_error_ptr'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x236): undefined reference to `png_create_read_struct'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x256): undefined reference to `png_set_error_fn'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x262): undefined reference to `png_create_info_struct'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x272): undefined reference to `png_create_info_struct'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x293): undefined reference to `png_set_read_fn'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x2b4): undefined reference to `png_set_read_status_fn'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x2c8): undefined reference to `png_read_info'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x314): undefined reference to `png_get_IHDR'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x33c): undefined reference to `png_get_PLTE'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x358): undefined reference to `png_get_rowbytes'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x368): undefined reference to `png_malloc'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x39c): undefined reference to `png_read_rows'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x3b7): undefined reference to `png_read_end'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x3cb): undefined reference to `png_free'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x3ef): undefined reference to `png_destroy_read_struct'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x54c): undefined reference to `png_set_PLTE'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x5a0): undefined reference to `png_set_IHDR'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x5bc): undefined reference to `png_set_read_status_fn'
C:\Libs\libpng-1.5.13\libpng.a(pngtest.o):pngtest.c:(.text+0x11d): undefined reference to `png_error'
謝謝您的幫助。
現在我看到問題來自pngtest.o。 刪除它,它只是用於測試。 這是一個應用程序本身,所以現在你有2個不同的main()函數。 – ssbssa
謝謝,它的工作原理。 –