<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>How to compile static libpng with static zlib [exe linker errors]?</title>
		<link>http://www.allegro.cc/forums/view/608407</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 22 Sep 2011 07:54:46 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m at my wit&#39;s end trying to get this to work. I&#39;ve been struggling for hours on end with CMake trying (and retrying) to do the following:</p><p>(1) compile zlib as static<br />(2) compile libpng as static with the static zlib I just got<br />(3) use this conglomerated library in an executable program</p><p>The result of this is always some variation of:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>pngread.obj<span class="k2">)</span><span class="k2">:</span>pngread.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__inflateEnd<span class="s">'|</span>
<span class="number">  2</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(pngread.obj):pngread.c|| undefined reference to `_imp__inflate'</span><span class="k3">|</span>
<span class="number">  3</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>pngread.obj<span class="k2">)</span><span class="k2">:</span>pngread.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__inflateInit_<span class="s">'|</span>
<span class="number">  4</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(pngread.obj):pngread.c|| undefined reference to `_imp__inflateInit_'</span><span class="k3">|</span>
<span class="number">  5</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>png.obj<span class="k2">)</span><span class="k2">:</span>png.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__inflateReset<span class="s">'|</span>
<span class="number">  6</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(png.obj):png.c|| undefined reference to `_imp__crc32'</span><span class="k3">|</span>
<span class="number">  7</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>png.obj<span class="k2">)</span><span class="k2">:</span>png.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__crc32<span class="s">'|</span>
<span class="number">  8</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(pngwrite.obj):pngwrite.c|| undefined reference to `_imp__deflateEnd'</span><span class="k3">|</span>
<span class="number">  9</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>pngwrite.obj<span class="k2">)</span><span class="k2">:</span>pngwrite.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__deflate<span class="s">'|</span>
<span class="number"> 10</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(pngrutil.obj):pngrutil.c|| undefined reference to `_imp__inflate'</span><span class="k3">|</span>
<span class="number"> 11</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>pngrutil.obj<span class="k2">)</span><span class="k2">:</span>pngrutil.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__inflateReset<span class="s">'|</span>
<span class="number"> 12</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(pngrutil.obj):pngrutil.c|| undefined reference to `_imp__inflate'</span><span class="k3">|</span>
<span class="number"> 13</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>pngrutil.obj<span class="k2">)</span><span class="k2">:</span>pngrutil.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__inflateReset<span class="s">'|</span>
<span class="number"> 14</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(pngwutil.obj):pngwutil.c|| undefined reference to `_imp__deflate'</span><span class="k3">|</span>
<span class="number"> 15</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>pngwutil.obj<span class="k2">)</span><span class="k2">:</span>pngwutil.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__deflate<span class="s">'|</span>
<span class="number"> 16</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(pngwutil.obj):pngwutil.c|| undefined reference to `_imp__deflateReset'</span><span class="k3">|</span>
<span class="number"> 17</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>pngwutil.obj<span class="k2">)</span><span class="k2">:</span>pngwutil.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__deflate<span class="s">'|</span>
<span class="number"> 18</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(pngwutil.obj):pngwutil.c|| undefined reference to `_imp__deflateReset'</span><span class="k3">|</span>
<span class="number"> 19</span>C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a<span class="k2">(</span>pngwutil.obj<span class="k2">)</span><span class="k2">:</span>pngwutil.c<span class="k3">|</span><span class="k3">|</span> undefined reference to `_imp__deflate<span class="s">'|</span>
<span class="number"> 20</span><span class="s">C:\Program Files\CodeBlocks\MinGW\lib\libpng12_static.a(pngwutil.obj):pngwutil.c|| undefined reference to `_imp__deflateInit2_'</span><span class="k3">|</span>
<span class="number"> 21</span><span class="k3">|</span><span class="k3">|</span><span class="k3">=</span><span class="k3">=</span><span class="k3">=</span> Build finished: <span class="n">20</span> errors, <span class="n">0</span> warnings <span class="k3">=</span><span class="k3">=</span><span class="k3">=</span><span class="k3">|</span>
</div></div><p>

or sometimes without the prefixes:<br /><tt>undefined reference to `inflateEnd&#39;</tt></p><p>I know these functions are from zlib. Linking the executable with the static zlib does not help, no matter what order the libraries are in. <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /></p><p>If it matters any, I <b>was</b> able to statically compile/link Allegro 4.4.2, but I can&#39;t get these specific libraries to cooperate.</p><p>What am I doing wrong? I would appreciate step-by-step instructions (if it&#39;s necessary).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Simion32)</author>
		<pubDate>Thu, 22 Sep 2011 02:25:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t understand what you&#39;re trying to do here. You shouldn&#39;t link one static library to another. You should build both independantly (you&#39;ll need zlib headers to compile libpng though) and then link both libraries to your program.</p><p>edit: if those errors are actually from your program build, make sure libpng is linked ahead in order of zlib.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Thu, 22 Sep 2011 03:02:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well I <i>was</i> trying to compile both into one library, so that isn&#39;t possible? OK, kinda makes sense. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>I&#39;m still linking to both libraries for the EXE, and it&#39;s still giving me those undefined reference errors (even did a full rebuild).</p><p>Going to delete all related the headers and lib files I have and try this once more from scratch...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Simion32)</author>
		<pubDate>Thu, 22 Sep 2011 03:27:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Did you link them in the right order?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Thu, 22 Sep 2011 03:29:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I tried both ways last time.</p><p>This time, when compiling libpng the shared version of the library stops on undefined reference errors similar to what is found in the executable. Do I have to specify the <i>dynamic</i> version of zlib in the configure script (using CMake)?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Simion32)</author>
		<pubDate>Thu, 22 Sep 2011 03:59:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Where does cmake come into play here? Are you building the library with examples (which have &#39;main&#39; functions) built into them? What are you using to build libpng, its own build system or your own? Paste the complete output of the build here please.</p><p>edit: if it&#39;s the libpng examples/tests failing then your zlib isn&#39;t built right. It doesn&#39;t matter if it&#39;s static or dynamic.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Thu, 22 Sep 2011 04:04:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;ve been using CMake to configure, both zlib and libpng. I&#39;m compiling with mingw32-make.</p><p>I&#39;ve re-ran the zlib build with shared lib built (now I have both). Output:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>C:\zlib\build&gt;mingw32-make
<span class="number">  2</span><span class="k2">[</span>  <span class="n">5</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>adler32.obj
<span class="number">  3</span><span class="k2">[</span> <span class="n">10</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>compress.obj
<span class="number">  4</span><span class="k2">[</span> <span class="n">15</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>crc32.obj
<span class="number">  5</span><span class="k2">[</span> <span class="n">20</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>deflate.obj
<span class="number">  6</span><span class="k2">[</span> <span class="n">25</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>gzclose.obj
<span class="number">  7</span><span class="k2">[</span> <span class="n">30</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>gzlib.obj
<span class="number">  8</span>C:\zlib\gzlib.c: In function <span class="s">'gz_error'</span><span class="k2">:</span>
<span class="number">  9</span>C:\zlib\gzlib.c:518: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> configu
<span class="number"> 10</span>ration<span class="k2">;</span> ignored
<span class="number"> 11</span><span class="k2">[</span> <span class="n">35</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>gzread.obj
<span class="number"> 12</span><span class="k2">[</span> <span class="n">40</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>gzwrite.obj
<span class="number"> 13</span><span class="k2">[</span> <span class="n">45</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>inflate.obj
<span class="number"> 14</span><span class="k2">[</span> <span class="n">50</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>infback.obj
<span class="number"> 15</span><span class="k2">[</span> <span class="n">55</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>inftrees.obj
<span class="number"> 16</span>C:\zlib\inftrees.c: In function <span class="s">'inflate_table'</span><span class="k2">:</span>
<span class="number"> 17</span>C:\zlib\inftrees.c:330: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> conf
<span class="number"> 18</span>iguration<span class="k2">;</span> ignored
<span class="number"> 19</span><span class="k2">[</span> <span class="n">60</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>inffast.obj
<span class="number"> 20</span>C:\zlib\inffast.c: In function <span class="s">'inflate_fast'</span><span class="k2">:</span>
<span class="number"> 21</span>C:\zlib\inffast.c:324: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> confi
<span class="number"> 22</span>guration<span class="k2">;</span> ignored
<span class="number"> 23</span><span class="k2">[</span> <span class="n">65</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>trees.obj
<span class="number"> 24</span>C:\zlib\trees.c: In function <span class="s">'_tr_init'</span><span class="k2">:</span>
<span class="number"> 25</span>C:\zlib\trees.c:410: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> configu
<span class="number"> 26</span>ration<span class="k2">;</span> ignored
<span class="number"> 27</span>C:\zlib\trees.c: In function <span class="s">'_tr_stored_block'</span><span class="k2">:</span>
<span class="number"> 28</span>C:\zlib\trees.c:883: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> configu
<span class="number"> 29</span>ration<span class="k2">;</span> ignored
<span class="number"> 30</span>C:\zlib\trees.c: In function <span class="s">'_tr_align'</span><span class="k2">:</span>
<span class="number"> 31</span>C:\zlib\trees.c:919: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> configu
<span class="number"> 32</span>ration<span class="k2">;</span> ignored
<span class="number"> 33</span>C:\zlib\trees.c: In function <span class="s">'_tr_tally'</span><span class="k2">:</span>
<span class="number"> 34</span>C:\zlib\trees.c:1071: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> config
<span class="number"> 35</span>uration<span class="k2">;</span> ignored
<span class="number"> 36</span>C:\zlib\trees.c: In function <span class="s">'_tr_flush_block'</span><span class="k2">:</span>
<span class="number"> 37</span>C:\zlib\trees.c:1020: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> config
<span class="number"> 38</span>uration<span class="k2">;</span> ignored
<span class="number"> 39</span>C:\zlib\trees.c: At top level:
<span class="number"> 40</span>C:\zlib\trees.c:1244: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> config
<span class="number"> 41</span>uration<span class="k2">;</span> ignored
<span class="number"> 42</span>C:\zlib\trees.c:1244: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> config
<span class="number"> 43</span>uration<span class="k2">;</span> ignored
<span class="number"> 44</span><span class="k2">[</span> <span class="n">70</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>uncompr.obj
<span class="number"> 45</span><span class="k2">[</span> <span class="n">75</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>zlib.dir<span class="k3">/</span>zutil.obj
<span class="number"> 46</span>C:\zlib\zutil.c: In function <span class="s">'zcfree'</span><span class="k2">:</span>
<span class="number"> 47</span>C:\zlib\zutil.c:316: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> configu
<span class="number"> 48</span>ration<span class="k2">;</span> ignored
<span class="number"> 49</span>C:\zlib\zutil.c: In function <span class="s">'zcalloc'</span><span class="k2">:</span>
<span class="number"> 50</span>C:\zlib\zutil.c:308: warning: visibility attribute <span class="k1">not</span> supported in <span class="k1">this</span> configu
<span class="number"> 51</span>ration<span class="k2">;</span> ignored
<span class="number"> 52</span>Linking C shared library libzlib1.dll
<span class="number"> 53</span>Creating library file: libzlib.dll.a
<span class="number"> 54</span><span class="k2">[</span> <span class="n">80</span>%<span class="k2">]</span> Built target zlib
<span class="number"> 55</span>Linking C executable example.exe
<span class="number"> 56</span><span class="k2">[</span> <span class="n">85</span>%<span class="k2">]</span> Built target example
<span class="number"> 57</span>Linking C executable example64.exe
<span class="number"> 58</span><span class="k2">[</span> <span class="n">90</span>%<span class="k2">]</span> Built target example64
<span class="number"> 59</span>Linking C executable minigzip.exe
<span class="number"> 60</span><span class="k2">[</span> <span class="n">95</span>%<span class="k2">]</span> Built target minigzip
<span class="number"> 61</span>Linking C executable minigzip64.exe
<span class="number"> 62</span><span class="k2">[</span><span class="n">100</span>%<span class="k2">]</span> Built target minigzip64
<span class="number"> 63</span>
<span class="number"> 64</span>C:\zlib\build&gt;mingw32-make install
<span class="number"> 65</span><span class="k2">[</span> <span class="n">80</span>%<span class="k2">]</span> Built target zlib
<span class="number"> 66</span><span class="k2">[</span> <span class="n">85</span>%<span class="k2">]</span> Built target example
<span class="number"> 67</span><span class="k2">[</span> <span class="n">90</span>%<span class="k2">]</span> Built target example64
<span class="number"> 68</span><span class="k2">[</span> <span class="n">95</span>%<span class="k2">]</span> Built target minigzip
<span class="number"> 69</span><span class="k2">[</span><span class="n">100</span>%<span class="k2">]</span> Built target minigzip64
<span class="number"> 70</span>Install the project...
<span class="number"> 71</span><span class="k3">-</span><span class="k3">-</span> Install configuration: <span class="s">"MinSizeRel"</span>
<span class="number"> 72</span><span class="k3">-</span><span class="k3">-</span> Installing: C:<span class="k3">/</span>MinGW<span class="k3">/</span>lib<span class="k3">/</span>libzlib.dll.a
<span class="number"> 73</span><span class="k3">-</span><span class="k3">-</span> Installing: C:<span class="k3">/</span>MinGW<span class="k3">/</span>bin<span class="k3">/</span>libzlib1.dll
<span class="number"> 74</span><span class="k3">-</span><span class="k3">-</span> Up-to-date: C:<span class="k3">/</span>MinGW<span class="k3">/</span>include<span class="k3">/</span>zconf.h
<span class="number"> 75</span><span class="k3">-</span><span class="k3">-</span> Up-to-date: C:<span class="k3">/</span>MinGW<span class="k3">/</span>include<span class="k3">/</span>zlib.h
<span class="number"> 76</span><span class="k3">-</span><span class="k3">-</span> Up-to-date: C:<span class="k3">/</span>MinGW<span class="k3">/</span>share<span class="k3">/</span>man<span class="k3">/</span>man3<span class="k3">/</span>zlib.3
<span class="number"> 77</span>
<span class="number"> 78</span>C:\zlib\build&gt;
</div></div><p>

Do those warnings mean the library is incorrectly built?</p><p>Here&#39;s libpng compile process:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>C:\libpng\build&gt;mingw32-make
<span class="number">  2</span>Scanning dependencies of target png12
<span class="number">  3</span><span class="k2">[</span>  <span class="n">3</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>png.obj
<span class="number">  4</span><span class="k2">[</span>  <span class="n">6</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngerror.obj
<span class="number">  5</span><span class="k2">[</span>  <span class="n">9</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngget.obj
<span class="number">  6</span><span class="k2">[</span> <span class="n">12</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngmem.obj
<span class="number">  7</span><span class="k2">[</span> <span class="n">16</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngpread.obj
<span class="number">  8</span><span class="k2">[</span> <span class="n">19</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngread.obj
<span class="number">  9</span><span class="k2">[</span> <span class="n">22</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngrio.obj
<span class="number"> 10</span><span class="k2">[</span> <span class="n">25</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngrtran.obj
<span class="number"> 11</span><span class="k2">[</span> <span class="n">29</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngrutil.obj
<span class="number"> 12</span><span class="k2">[</span> <span class="n">32</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngset.obj
<span class="number"> 13</span><span class="k2">[</span> <span class="n">35</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngtrans.obj
<span class="number"> 14</span><span class="k2">[</span> <span class="n">38</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngwio.obj
<span class="number"> 15</span><span class="k2">[</span> <span class="n">41</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngwrite.obj
<span class="number"> 16</span><span class="k2">[</span> <span class="n">45</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngwtran.obj
<span class="number"> 17</span><span class="k2">[</span> <span class="n">48</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12.dir<span class="k3">/</span>pngwutil.obj
<span class="number"> 18</span>Linking C shared library libpng12.dll
<span class="number"> 19</span>Creating library file: libpng12.dll.a
<span class="number"> 20</span><span class="k2">[</span> <span class="n">48</span>%<span class="k2">]</span> Built target png12
<span class="number"> 21</span>Scanning dependencies of target png12_static
<span class="number"> 22</span><span class="k2">[</span> <span class="n">51</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>png.obj
<span class="number"> 23</span><span class="k2">[</span> <span class="n">54</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngerror.obj
<span class="number"> 24</span><span class="k2">[</span> <span class="n">58</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngget.obj
<span class="number"> 25</span><span class="k2">[</span> <span class="n">61</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngmem.obj
<span class="number"> 26</span><span class="k2">[</span> <span class="n">64</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngpread.obj
<span class="number"> 27</span><span class="k2">[</span> <span class="n">67</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngread.obj
<span class="number"> 28</span><span class="k2">[</span> <span class="n">70</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngrio.obj
<span class="number"> 29</span><span class="k2">[</span> <span class="n">74</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngrtran.obj
<span class="number"> 30</span><span class="k2">[</span> <span class="n">77</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngrutil.obj
<span class="number"> 31</span><span class="k2">[</span> <span class="n">80</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngset.obj
<span class="number"> 32</span><span class="k2">[</span> <span class="n">83</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngtrans.obj
<span class="number"> 33</span><span class="k2">[</span> <span class="n">87</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngwio.obj
<span class="number"> 34</span><span class="k2">[</span> <span class="n">90</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngwrite.obj
<span class="number"> 35</span><span class="k2">[</span> <span class="n">93</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngwtran.obj
<span class="number"> 36</span><span class="k2">[</span> <span class="n">96</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>png12_static.dir<span class="k3">/</span>pngwutil.obj
<span class="number"> 37</span>Linking C <span class="k1">static</span> library libpng12_static.a
<span class="number"> 38</span><span class="k2">[</span> <span class="n">96</span>%<span class="k2">]</span> Built target png12_static
<span class="number"> 39</span>Scanning dependencies of target pngtest
<span class="number"> 40</span><span class="k2">[</span><span class="n">100</span>%<span class="k2">]</span> Building C object CMakeFiles<span class="k3">/</span>pngtest.dir<span class="k3">/</span>pngtest.obj
<span class="number"> 41</span>C:\libpng\pngtest.c: In function <span class="s">'pngtest_write_data'</span><span class="k2">:</span>
<span class="number"> 42</span>C:\libpng\pngtest.c:400: warning: <span class="s">'io_ptr'</span> is deprecated <span class="k2">(</span>declared at C:\libpng\
<span class="number"> 43</span>png.h:1254<span class="k2">)</span>
<span class="number"> 44</span>Linking C executable pngtest.exe
<span class="number"> 45</span>CMakeFiles<span class="k3">/</span>pngtest.dir<span class="k3">/</span>pngtest.obj:pngtest.c:<span class="k2">(</span>.text<span class="k3">+</span><span class="n">0x11fc</span><span class="k2">)</span><span class="k2">:</span> undefined reference
<span class="number"> 46</span> to `png_libpng_ver<span class="s">'</span>
<span class="number"> 47</span><span class="s">CMakeFiles/pngtest.dir/pngtest.obj:pngtest.c:(.text+0x1237): undefined reference</span>
<span class="number"> 48</span><span class="s"> to `png_libpng_ver'</span>
<span class="number"> 49</span>collect2: ld returned <span class="n">1</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> status
<span class="number"> 50</span>mingw32-make<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">:</span> <span class="k3">*</span><span class="k3">*</span><span class="k3">*</span> <span class="k2">[</span>pngtest.exe<span class="k2">]</span> Error <span class="n">1</span>
<span class="number"> 51</span>mingw32-make<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">:</span> <span class="k3">*</span><span class="k3">*</span><span class="k3">*</span> <span class="k2">[</span>CMakeFiles<span class="k3">/</span>pngtest.dir<span class="k3">/</span>all<span class="k2">]</span> Error <span class="n">2</span>
<span class="number"> 52</span>mingw32-make: <span class="k3">*</span><span class="k3">*</span><span class="k3">*</span> <span class="k2">[</span>all<span class="k2">]</span> Error <span class="n">2</span>
<span class="number"> 53</span>
<span class="number"> 54</span>C:\libpng\build&gt;
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Simion32)</author>
		<pubDate>Thu, 22 Sep 2011 04:21:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Is this a developement version of libpng? Its failing to compile its own tests. In any case, they both seem to have built correctly. The only thing to do is try using them and see if they work.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Thu, 22 Sep 2011 04:32:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So far, nothing. I tried using these two compiles and I STILL get undefined&#39;s.</p><p>I might have the wrong ZIP of the source code, is the only conclusion I can reasonably come to.</p><p>I&#39;ll edit back in here if I get it to work off of a different source version/zip/whatever. It&#39;ll be a while before I can try though, I have other things to do now (&quot;maintenance&quot; on a new laptop).</p><p><b>EDIT:</b> Yep, that was the source of all this mess, I was using the wrong zlib source code distribution. <b>Problem SOLVED.</b> <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /></p><p>Thank you, Trent, for the help. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Simion32)</author>
		<pubDate>Thu, 22 Sep 2011 07:19:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>To build zlib you can use win32/makefile.gcc or else you need MSYS. I don&#39;t know why you&#39;re trying to use cmake to build zlib, because it doesn&#39;t come with CMakeLists.txt unless that&#39;s a recent addition.</p><p>With MinGW
</p><pre>
cd zlib
copy win32\makefile.gcc .\makefile.gcc
mingw32-make -fmakefile.gcc
mingw32-make install prefix=c:\mingw -fmakefile.gcc
</pre><p>


With MSYS
</p><pre>
cd zlib
./configure
mingw32-make
mingw32-make install prefix=/c/mingw
</pre><p>

To build libpng, it&#39;s pretty much the same except you can use a custom makefile, MSYS, or Cmake.</p><p>MinGW
</p><pre>
cd png
copy scripts\makefile.mingw .\makefile.mingw
mingw32-make -fmakefile.mingw
mingw32-make install -fmakefile.mingw
</pre><p>

MSYS
</p><pre>
cd png
./configure --prefix=/c/mingw
mingw32-make
mingw32-make install
</pre><p>

Cmake
</p><pre>
cd png
mkdir build
cd build
cmake -G &quot;MinGW Makefiles&quot; ..
mingw32-make
mingw32-make install
</pre><p>

When building with MinGW or MSYS by themselves, you should get both the static and dynamic libraries by default.</p><p>Edit<br />Too late to the party...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 22 Sep 2011 07:54:46 +0000</pubDate>
	</item>
</rss>
