<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Allegro 5 include file rejected</title>
		<link>http://www.allegro.cc/forums/view/610640</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 17 Jul 2012 11:37:10 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Interestingly, an include file of mine has been rejected by my compiler.</p><p>The file is &quot;allegro_image.h&quot;.</p><p>My compiler says that al_init_image_addon and al_shutdown_image_addon have not been declared. I am using the static version of Allegro 5.0.7.<br />Allegro works absolutely fine without this one, though I kinda need it to draw bitmaps... :|</p><p>After those complaints, it goes on to say &quot;expected constructors, destructors of &#39;{<br />&#39; before &#39;;&#39;, but I think that&#39;s just because it didn&#39;t recognise the functions.<br />I would diagnose these, but I don&#39;t understand the #ifndef and other stuff in the file...</p><p>I have been using Code::blocks and the mingw g++ compiler, and nothing has gone wrong so far. (since I started using an IDE)</p><p>Please help, I can&#39;t draw any  bitmaps until I get this working...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (RazorSharpFang)</author>
		<pubDate>Mon, 16 Jul 2012 17:56:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Please post your code.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Mon, 16 Jul 2012 18:08:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>allegro_image.h -&gt; This file has been unedited from it&#39;s download and install
</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><span class="p">#ifndef __al_included_allegro5_allegro_image_h</span>
<span class="number">  2</span><span class="p">#define __al_included_allegro5_allegro_image_h</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="p">#if (defined ALLEGRO_MINGW32) || (defined ALLEGRO_MSVC) || (defined ALLEGRO_BCC32)</span>
<span class="number">  5</span>   <span class="p">#ifndef ALLEGRO_STATICLINK</span>
<span class="number">  6</span>      <span class="p">#ifdef ALLEGRO_IIO_SRC</span>
<span class="number">  7</span>         <span class="p">#define _ALLEGRO_IIO_DLL __declspec(dllexport)</span>
<span class="number">  8</span>      <span class="p">#else</span>
<span class="number">  9</span>         <span class="p">#define _ALLEGRO_IIO_DLL __declspec(dllimport)</span>
<span class="number"> 10</span>      <span class="p">#endif</span>
<span class="number"> 11</span>   <span class="p">#else</span>
<span class="number"> 12</span>      <span class="p">#define _ALLEGRO_IIO_DLL</span>
<span class="number"> 13</span>   <span class="p">#endif</span>
<span class="number"> 14</span><span class="p">#endif</span>
<span class="number"> 15</span>
<span class="number"> 16</span><span class="p">#if defined ALLEGRO_MSVC</span>
<span class="number"> 17</span>   <span class="p">#define ALLEGRO_IIO_FUNC(type, name, args)      _ALLEGRO_IIO_DLL type __cdecl name args</span>
<span class="number"> 18</span><span class="p">#elif defined ALLEGRO_MINGW32</span>
<span class="number"> 19</span>   <span class="p">#define ALLEGRO_IIO_FUNC(type, name, args)      extern type name args</span>
<span class="number"> 20</span><span class="p">#elif defined ALLEGRO_BCC32</span>
<span class="number"> 21</span>   <span class="p">#define ALLEGRO_IIO_FUNC(type, name, args)      extern _ALLEGRO_IIO_DLL type name args</span>
<span class="number"> 22</span><span class="p">#else</span>
<span class="number"> 23</span>   <span class="p">#define ALLEGRO_IIO_FUNC      AL_FUNC</span>
<span class="number"> 24</span><span class="p">#endif</span>
<span class="number"> 25</span>
<span class="number"> 26</span>
<span class="number"> 27</span><span class="p">#ifdef __cplusplus</span>
<span class="number"> 28</span><span class="k1">extern</span> <span class="s">"C"</span> <span class="k2">{</span>
<span class="number"> 29</span><span class="p">#endif</span>
<span class="number"> 30</span>
<span class="number"> 31</span>
<span class="number"> 32</span>ALLEGRO_IIO_FUNC<span class="k2">(</span><span class="k1">bool</span>, <a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a>, <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 33</span>ALLEGRO_IIO_FUNC<span class="k2">(</span><span class="k1">void</span>, <a href="http://www.allegro.cc/manual/al_shutdown_image_addon"><span class="a">al_shutdown_image_addon</span></a>, <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</span>ALLEGRO_IIO_FUNC<span class="k2">(</span><span class="k1">uint32_t</span>, <a href="http://www.allegro.cc/manual/al_get_allegro_image_version"><span class="a">al_get_allegro_image_version</span></a>, <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 35</span>
<span class="number"> 36</span>
<span class="number"> 37</span><span class="p">#ifdef __cplusplus</span>
<span class="number"> 38</span><span class="k2">}</span>
<span class="number"> 39</span><span class="p">#endif</span>
<span class="number"> 40</span>
<span class="number"> 41</span><span class="p">#endif</span>
</div></div><p>
Hope that helps
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (RazorSharpFang)</author>
		<pubDate>Mon, 16 Jul 2012 18:10:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That&#39;s not your code. Your code looks exactly like:
</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 16 Jul 2012 18:14:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Exactly, and that is the code that is throwing the error!<br />If I remove the link to the allegro_image.h file, it works fine!<br />But here&#39;s mine, single file, main.cpp.
</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><span class="p">#define ALLEGRO_STATICLINK</span>
<span class="number">   2</span><span class="c">// ^ needed, below are includes</span>
<span class="number">   3</span><span class="p">#include "allegro5/allegro_image.h" //image library throwing errors</span>
<span class="number">   4</span><span class="p">#include "allegro5/allegro.h" //main allegro library. No errors here.</span>
<span class="number">   5</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   7</span><span class="p">#include &lt;stdlib.h&gt;</span>
<span class="number">   8</span><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span>
<span class="number">   9</span><span class="c">// ^ I think I need that... dunno why...</span>
<span class="number">  10</span><span class="k1">void</span> AbortGame<span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span> message<span class="k2">)</span><span class="k2">;</span>
<span class="number">  11</span><span class="c">//avoids redundancy, abort game after message display</span>
<span class="number">  12</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> SetUpDisplay<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  13</span><span class="c">//set the display to fullscreen, no res change, handles keyboard, mouse, and  others...</span>
<span class="number">  14</span><span class="c">//returns ONLY the display</span>
<span class="number">  15</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> SetUpTimer<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  16</span><span class="c">//sets up the timer, ticks 60 times each frame...</span>
<span class="number">  17</span>FILE<span class="k3">*</span> SetUpLog<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  18</span><span class="c">//prepares the log file for logging...</span>
<span class="number">  19</span><span class="k1">void</span> Message<span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>input<span class="k2">)</span><span class="k2">;</span>
<span class="number">  20</span><span class="c">//standard message, output to terminal, and out to the log file as well. Useful for debugging...</span>
<span class="number">  21</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> SetUpScreenBuffer<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  22</span><span class="c">// Returns the screen buffer which will be used for resolution independace. Write to this, then write this</span>
<span class="number">  23</span><span class="c">// to the screen after finished drawing. Scale as needed.</span>
<span class="number">  24</span><span class="c">//START GLOBAL VARIABLES</span>
<span class="number">  25</span>FILE <span class="k3">*</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_542.html" target="_blank">log</a><span class="k2">;</span> <span class="c">//log file. Write messages to this for debugging</span>
<span class="number">  26</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display<span class="k2">;</span> <span class="c">//the main display.</span>
<span class="number">  27</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>screenBuffer<span class="k2">;</span> <span class="c">//screen buffer</span>
<span class="number">  28</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer<span class="k2">;</span> <span class="c">//umm... timer?</span>
<span class="number">  29</span><span class="k1">int</span>  screenWidth, screenHeight, scaleX, scaleY, scaleW, scaleH<span class="k2">;</span><span class="c">//global scaling variables.</span>
<span class="number">  30</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span>
<span class="number">  31</span><span class="k2">{</span>
<span class="number">  32</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_542.html" target="_blank">log</a> <span class="k3">=</span> SetUpLog<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>  display <span class="k3">=</span> SetUpDisplay<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>  screenWidth <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number">  35</span>  screenHeight <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</span>  screenBuffer <span class="k3">=</span> SetUpScreenBuffer<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>  timer <span class="k3">=</span> SetUpTimer<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>  <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span>  <span class="c">//al_init_image_addon(void);</span>
<span class="number">  40</span>  <span class="k1">while</span><span class="k2">(</span><span class="k1">true</span><span class="k2">)</span> <span class="c">//main game-loop. should never return until game close</span>
<span class="number">  41</span>  <span class="k2">{</span>
<span class="number">  42</span>    Sleep<span class="k2">(</span><span class="n">3000</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>    AbortGame<span class="k2">(</span><span class="s">"Success!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>  <span class="k2">}</span>
<span class="number">  45</span><span class="k2">}</span>
<span class="number">  46</span>
<span class="number">  47</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> SetUpTimer<span class="k2">(</span><span class="k2">)</span>
<span class="number">  48</span><span class="k2">{</span>
<span class="number">  49</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">60</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  51</span>    AbortGame<span class="k2">(</span><span class="s">"Failed to create timer\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>  <span class="k2">}</span>
<span class="number">  53</span>  Message<span class="k2">(</span><span class="s">"Timer created successfully\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>  <span class="k1">return</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">;</span>
<span class="number">  55</span><span class="k2">}</span>
<span class="number">  56</span>
<span class="number">  57</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> SetUpDisplay<span class="k2">(</span><span class="k2">)</span>
<span class="number">  58</span><span class="k2">{</span>
<span class="number">  59</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>disp <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  60</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY_MODE"><span class="a">ALLEGRO_DISPLAY_MODE</span></a> disp_data<span class="k2">;</span>
<span class="number">  61</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  62</span>    AbortGame<span class="k2">(</span><span class="s">"Allegro Error, fatal.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>  <span class="k2">}</span>
<span class="number">  64</span>  Message<span class="k2">(</span><span class="s">"Allegro Initialized Successfully\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  65</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  66</span>        AbortGame<span class="k2">(</span><span class="s">"Failed to install keyboard\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>  <span class="k2">}</span>
<span class="number">  68</span>  Message<span class="k2">(</span><span class="s">"Keyboard initialized successfully\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  70</span>    AbortGame<span class="k2">(</span><span class="s">"Failure to install mouse\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>  <span class="k2">}</span>
<span class="number">  72</span>  Message<span class="k2">(</span><span class="s">"Mouse initialized successfully\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>  <a href="http://www.allegro.cc/manual/al_get_display_mode"><span class="a">al_get_display_mode</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_num_display_modes"><span class="a">al_get_num_display_modes</span></a><span class="k2">(</span><span class="k2">)</span> <span class="k3">-</span> <span class="n">1</span>, <span class="k3">&amp;</span>disp_data<span class="k2">)</span><span class="k2">;</span>
<span class="number">  74</span>  Message<span class="k2">(</span><span class="s">"Display resolution enunciated successfully: width:"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  75</span>  <span class="k1">char</span> buffer<span class="k2">[</span><span class="n">8</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  76</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>buffer,<span class="s">"%d"</span>,disp_data.width<span class="k2">)</span><span class="k2">;</span>
<span class="number">  77</span>  Message<span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>  Message<span class="k2">(</span><span class="s">" height: "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>buffer,<span class="s">"%d"</span>,disp_data.height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>  Message<span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  81</span>  Message<span class="k2">(</span><span class="s">"\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  82</span>  <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_FULLSCREEN_WINDOW<span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>  disp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span>disp_data.width, disp_data.height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  84</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>disp<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  85</span>        AbortGame<span class="k2">(</span><span class="s">"Failed to create display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>  <span class="k2">}</span>
<span class="number">  87</span>  Message<span class="k2">(</span><span class="s">"Display created successfully, width:"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>buffer,<span class="s">"%d"</span>,<a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>  Message<span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>  Message<span class="k2">(</span><span class="s">" height: "</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>buffer,<span class="s">"%d"</span>,<a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>disp<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  92</span>  Message<span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>  Message<span class="k2">(</span><span class="s">"\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>  <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>  <span class="k1">return</span> disp<span class="k2">;</span>
<span class="number">  96</span><span class="k2">}</span>
<span class="number">  97</span>
<span class="number">  98</span><span class="k1">void</span> AbortGame<span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span> message<span class="k2">)</span>
<span class="number">  99</span><span class="k2">{</span>
<span class="number"> 100</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"%s \n"</span>, message<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_542.html" target="_blank">log</a>, <span class="s">"%s \n"</span>, message<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_542.html" target="_blank">log</a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 104</span><span class="k2">}</span>
<span class="number"> 105</span>
<span class="number"> 106</span>FILE<span class="k3">*</span> SetUpLog<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 107</span><span class="k2">{</span>
<span class="number"> 108</span>  FILE <span class="k3">*</span>fp <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 109</span>  fp <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"log.log"</span>,<span class="s">"w"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 110</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>fp, <span class="s">"Game started\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Game started\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span>  <span class="k1">return</span> fp<span class="k2">;</span>
<span class="number"> 113</span><span class="k2">}</span>
<span class="number"> 114</span>
<span class="number"> 115</span><span class="k1">void</span> Message<span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span> message<span class="k2">)</span>
<span class="number"> 116</span><span class="k2">{</span>
<span class="number"> 117</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span>message<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_542.html" target="_blank">log</a>,message<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</span>  <span class="k1">return</span><span class="k2">;</span>
<span class="number"> 120</span><span class="k2">}</span>
<span class="number"> 121</span>
<span class="number"> 122</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> SetUpScreenBuffer<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 123</span><span class="k2">{</span>
<span class="number"> 124</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>buffer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span><span class="n">1080</span>,<span class="n">1920</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>  <span class="k1">int</span> sx <span class="k3">=</span> screenWidth<span class="k3">/</span><span class="n">1920</span><span class="k2">;</span>
<span class="number"> 126</span>  <span class="k1">int</span> sy <span class="k3">=</span> screenHeight<span class="k3">/</span><span class="n">1080</span><span class="k2">;</span>
<span class="number"> 127</span>  <span class="k1">int</span> scale <span class="k3">=</span> std::min<span class="k2">(</span>sx,sy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>  scaleW <span class="k3">=</span> <span class="n">1920</span> <span class="k3">*</span> scale<span class="k2">;</span>
<span class="number"> 129</span>  scaleH <span class="k3">=</span> <span class="n">1080</span> <span class="k3">*</span> scale<span class="k2">;</span>
<span class="number"> 130</span>  scaleX <span class="k3">=</span> <span class="k2">(</span>screenWidth <span class="k3">-</span> scaleW<span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span><span class="k2">;</span>
<span class="number"> 131</span>  scaleY <span class="k3">=</span> <span class="k2">(</span>screenWidth <span class="k3">-</span> scaleH<span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span><span class="k2">;</span>
<span class="number"> 132</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (RazorSharpFang)</author>
		<pubDate>Mon, 16 Jul 2012 18:17:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Exchange lines 3 and 4, so that allegro.h is included first.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dennis)</author>
		<pubDate>Mon, 16 Jul 2012 18:22:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/610640/960259#target">Matthew Leverton</a> said:</div><div class="quote"><p>exactly like: <br />#include &lt;allegro5/allegro_image.h&gt;</p></div></div><p>
</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/610640/960260#target">RazorSharpFang</a> said:</div><div class="quote"><p>#include &quot;allegro5/allegro_image.h&quot;</p></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (weapon_S)</author>
		<pubDate>Mon, 16 Jul 2012 18:22:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yep, that was it.<br />I had no idea that the order of includes could affect building...<br />Then again, I&#39;ve never had more than 3 include files before...</p><p>Many thanks for your quick help, you guys are awesome, just sayin&#39;.</p><p>Keep it awesome!<br />RazorSharpFang
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (RazorSharpFang)</author>
		<pubDate>Mon, 16 Jul 2012 18:31:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/610640/960263#target">RazorSharpFang</a> said:</div><div class="quote"><p> I had no idea that the order of includes could affect building...</p></div></div><p>When the preprocessor includes files, it copies the contents of them into the file that was including them, putting them where the directive was written. This is why the order is important.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Mon, 16 Jul 2012 18:33:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You should give credit to everyone who helped.</p><p>Also please try to make an effort to investigate and understand what&#39;s going on and WHY you needed to make that change.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dennis)</author>
		<pubDate>Mon, 16 Jul 2012 18:36:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh. That&#39;s what credit means! (I understand now!)</p><p>Incidentally, I did manage to get it to compile, but after editing the allegro_image.h file a lot, which would probably impede it&#39;s cross-platform nature.</p><p>I suspect now that the allegro.h or the include of allegro.h have #defines which would change the preprocessor&#39;s output, which would cause differences if the files were included in a different order.<br />Wow, I&#39;m learning a lot from this. I should come here more often.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (RazorSharpFang)</author>
		<pubDate>Mon, 16 Jul 2012 18:43:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/610640/960266#target">RazorSharpFang</a> said:</div><div class="quote"><p> after editing the allegro_image.h file a lot
</p></div></div><p>You normally shouldn&#39;t do that. Especially if you want to use it again <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /> You can set the directory where GCC searches for include files with -I.
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> I suspect now
</p></div></div><p>It&#39;s much simpler than that.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (weapon_S)</author>
		<pubDate>Tue, 17 Jul 2012 11:00:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Actually, he&#39;s exactly right as to why they need to be included in that order. <span class="source-code">allegro_image.h</span> requires <span class="source-code">ALLEGRO_MSVC</span> to be defined if it is running on Microsoft&#39;s compiler while utilizing DLLs. If <span class="source-code">allegro.h</span> is included, then <span class="source-code">platform<span class="k3">/</span>almsvc.h</span> will be automatically included through Allegro&#39;s <span class="source-code">internal<span class="k3">/</span></span> header-set. If <span class="source-code">allegro_image.h</span> is included before <span class="source-code">allegro.h</span>, it does not recognize that it must use a <span class="source-code">declspec</span> to declare the functions and, thus, MSVC assumes that it must be declared inside of the executable and this results in a not-defined error.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Luiji99)</author>
		<pubDate>Tue, 17 Jul 2012 11:37:10 +0000</pubDate>
	</item>
</rss>
