<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>AllegroFont and MSVC</title>
		<link>http://www.allegro.cc/forums/view/588019</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 17 Oct 2006 00:45:22 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello!</p><p>This is driving me crazy, I&#39;ve compiled (v2.0.6) AllegroFont both static and DLL but I cant use either one without problems <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" /></p><p>Using the DLL version of the .lib I can compile my little test, run it untill I use:
</p><div class="source-code snippet"><div class="inner"><pre>alfont_destroy_font<span class="k2">(</span>Font<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
MSVC pops up with 
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
&quot;Unhandled exception at 0xSOMEHEX in alfont_text.exe: User breakpoint.&quot;
</p></div></div><p>
What breakpoint??? <br />Then I press continue and all is fine, but damn so annoying.</p><p>If I use the static .lib I cant even compile my test. Instead MSVC says
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
alfont_test error LNK2019: unresolved external symbol _ugetc referenced in function _alfont_ugetc<br />alfont_test error LNK2005: _clear_to_color already defined in alld.lib(alld42.dll)<br />alfont_test warning LNK4098: defaultlib &#39;MSVCRT&#39; conflicts with use of other libs; use /NODEFAULTLIB:library<br />alfont_test error LNK2019: unresolved external symbol _ugetxc referenced in function _alfont_text_length
</p></div></div><p>


Any ideas?</p><p><s>-EDIT</s>-<br />Here&#39;s my minimal test
</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include "alfont.h"</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span></td></tr><tr><td class="number">5</td><td><span class="k2">{</span></td></tr><tr><td class="number">6</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>  ALFONT_FONT <span class="k3">*</span>Font<span class="k2">;</span></td></tr><tr><td class="number">8</td><td>  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td>      <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>      <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED, <span class="n">640</span>, <span class="n">400</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">12</td><td>    <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Unable to set any graphic mode\n%s\n"</span>, <a href="http://www.allegro.cc/manual/allegro_error" target="_blank"><span class="a">allegro_error</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>          <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">15</td><td>  <span class="k1">if</span> <span class="k2">(</span>alfont_init<span class="k2">(</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> ALFONT_OK<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">16</td><td>    <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_TEXT, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>    <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Error while initializing alfont"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">20</td><td>      buffer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap" target="_blank"><span class="a">create_bitmap</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>,<a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>      <a href="http://www.allegro.cc/manual/set_palette" target="_blank"><span class="a">set_palette</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/desktop_palette" target="_blank"><span class="a">desktop_palette</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>&#160;</td></tr><tr><td class="number">23</td><td>  Font <span class="k3">=</span> alfont_load_font<span class="k2">(</span><span class="s">"fonts/phorfeir.ttf"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>  alfont_set_font_size<span class="k2">(</span>Font,<span class="n">30</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>&#160;</td></tr><tr><td class="number">26</td><td>      alfont_textout<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, Font, <span class="s">"asdf"</span>, <span class="n">30</span>, <span class="n">30</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span> <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>  alfont_destroy_font<span class="k2">(</span>Font<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td>      alfont_exit<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>      <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td><span class="k2">}</span></td></tr><tr><td class="number">34</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ixilom)</author>
		<pubDate>Fri, 13 Oct 2006 11:18:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Have you tried it with a standard compiler instead of MSVC?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Mon, 16 Oct 2006 18:04:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The problem is with the runtime library you are linking with. When linking a static library link against Multi-threaded (/MT). When making a DLL link against Multi-threaded DLL (/MD). When you compile your program make sure that all the libraries and the program itself use the same runtime library. Don&#39;t ask further questions, that&#39;s all I know. <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Milan Mimica)</author>
		<pubDate>Mon, 16 Oct 2006 18:14:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Have you tried it with a standard compiler instead of MSVC?
</p></div></div><p>
Never thought of that because it does come with project files for MSVC, although for v6 and I&#39;m using v7.1.<br />I got the feeling I cant make a MSVC compitable .lib with say, MINGW.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
The problem is with the runtime library you are linking with. When linking a static library link against Multi-threaded (/MT). When making a DLL link against Multi-threaded DLL (/MD). When you compile your program make sure that all the libraries and the program itself use the same runtime library. Don&#39;t ask further questions, that&#39;s all I know. <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div></div><p>

I&#39;ve tried all the combinations I can, those that actually compile are the ones that give me the problems I described in the first post.</p><p>I guess, I&#39;ll have to live with FontEd and make some fuggly fonts without AA <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ixilom)</author>
		<pubDate>Tue, 17 Oct 2006 00:45:22 +0000</pubDate>
	</item>
</rss>
