我正在尝试构建一个有望创建动态.pdf文件的程序。我实际上用PHP开发了一个类似的项目,但现在我想用C ++编写。
这导致我在过去四天内重建这三个库(zlib,libpng和libharu)超过时间。我已经阅读了Web中的所有相关条目(包括this堆栈溢出条目)我明白我的问题是编译器找不到zlib(也许我错误地理解了这个问题)
我想解释一下我做了什么。请注意,我在Windows 7中使用Codeblocks IDE和GNU GCC C ++编译器(MingGW)。首先,我编译了zlib 1.2.7并创建了我的zlib.a静态库文件(我使用的是静态库)。其次,我编译了libpng 1.5.13并创建了我的libpng.a。第三,我编译了libharu(快照)并创建了我的libharu.a静态库文件。然后我将这些库文件添加到我的项目中。 (我做了here中解释的所有事情)。最后,编译了我的项目。
好吧,我会说我做了所有这些步骤超过十次,换了一些小东西,但每次我都收到错误。我甚至尝试过libharu.org中的官方示例。 最奇怪的是我的错误不稳定。几乎每次我都有不同的错误!但大部分都与hpdf_streams.c有关 我最近的日志文件:
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xd4a): undefined reference to `deflateInit_'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xdfa): undefined reference to `deflate'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xe78): undefined reference to `deflateEnd'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xee2): undefined reference to `deflate'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xf7e): undefined reference to `deflateEnd'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xfb7): undefined reference to `deflateEnd'
C:\Libs\libharu-201301131604\libharu.a(hpdf_streams.o):hpdf_streams.c:(.text+0xff1): undefined reference to `deflateEnd'
答案 0 :(得分:0)
我们刚遇到这个问题。您需要关闭WIN_API重新编译zlib。或者使用dll而不是静态库。