<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[5.2] Windows does not compile without ALLEGRO_UNSTABLE</title>
		<link>http://www.allegro.cc/forums/view/616185</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 12 Apr 2016 14:10:46 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, title says it: I&#39;m compiling on Windows (VS2013) for a static library, and I get one compile error when I don&#39;t define ALLEGRO_UNSTABLE:</p><p>addons\native_dialog\win_dialog.c(692): error C2220: warning treated as error - no &#39;object&#39; file generated<br />addons\native_dialog\win_dialog.c(692): warning C4013: &#39;al_toggle_menu_item_flags&#39; undefined; assuming extern returning int</p><p>So I think that within win_dialog the menu_callback uses this, and now that function is declared unstable... </p><p>How would I fix this? I mean, I can easily live with defining ALLEGRO_UNSTABLE, but maybe there&#39;s an easy fix. </p><p>Side question: What is ALLEGRO_NATIVE_DIALOG_SRC and where does it come from? When I define that, it will also compile. <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" /></p><p>Edit: Same goes for dsound.cpp</p><p>addons\audio\dsound.cpp(673): error C2065: &#39;ALLEGRO_AUDIO_RECORDER_EVENT&#39; : undeclared identifier
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Thu, 07 Apr 2016 17:19:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Err... how are you compiling this? <span class="source-code">ALLEGRO_NATIVE_DIALOG_SRC</span> comes from <a href="https://github.com/liballeg/allegro5/blob/master/addons/native_dialog/CMakeLists.txt#L69">https://github.com/liballeg/allegro5/blob/master/addons/native_dialog/CMakeLists.txt#L69</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Fri, 08 Apr 2016 20:21:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As far as I know, when I compiled it I also needed to add -dALLEGRO_UNSTABLE in the makefile.</p><p>That to have the now unstable audio recorder api.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Fri, 08 Apr 2016 22:21:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well I have some self-made studio project files, one for allegro5 and another for the al5addons and both as static libraries. That compiled very well with all the 5.1 changes, and now we have ALLEGRO_UNSTABLE which is new, so I suspect there may be some inconsitencies.</p><p>Ah, I&#39;m using the cmake stuff for the documentation, but I can&#39;t use the resulting projects for my IDE, so I have my own. Maybe there&#39;s something that I have to consider using the new defines, but I&#39;m not sure how that would look like, known only the sources.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Sat, 09 Apr 2016 12:00:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, that&#39;s what I figured. You&#39;ll want to add the <span class="source-code">ALLEGRO_NATIVE_DIALOG_SRC</span> and the like (you can scan either the headers or the CMakeLists.txt for the names of these macros, there&#39;s one per library including the core) when compiling the associated libraries. You could also define <span class="source-code">ALLEGRO_UNSTABLE_INTERNAL</span>. For maximum future-proofness, I&#39;d define both.</p><p>You do <i>not</i> want to define <span class="source-code">ALLEGRO_UNSTABLE</span> as that&#39;s really meant to be defined only by the users of Allegro and not while building Allegro itself (it does something special).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Sat, 09 Apr 2016 12:11:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What does ALLEGRO_UNSTABLE_INTERNAL mean?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Sat, 09 Apr 2016 19:06:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As he is using allegro inside a library of him, I think he just needs ALLEGRO_UNSTABLE, can you please clarify SiegeLord ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Sat, 09 Apr 2016 20:04:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>When each library is compiled, it needs to export all the symbols, even unstable ones, so the unstable API is unmasked using the <span class="source-code">_SRC</span> macros that are already defined for DLL export/imprt purposes.</p><p>If one addon uses unstable API from another addon, then we&#39;d use <span class="source-code">ALLEGRO_INTERNAL_UNSTABLE</span> to unmask the API.</p><p>A typical user would use <span class="source-code">ALLEGRO_UNSTABLE</span> which is like <span class="source-code">ALLEGRO_INTERNAL_UNSTABLE</span> in that it unmasks the API, but it also enables the stricter version compatibility checks for <span class="source-code"><a href="http://www.allegro.cc/manual/al_install_system"><span class="a">al_install_system</span></a></span>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Sat, 09 Apr 2016 21:17:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hm, I&#39;m using a static build, and I combine some static libraries with my code to an executable. So Allegro5 is static lib, and al5addon is also static lib, like zip freetype lpng and the like.</p><p>So this probably means that I have to use _SRC defines, and probably not ALLEGRO_UNSTABLE as long as I don&#39;t want to use parts of the unstable API.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tobing)</author>
		<pubDate>Tue, 12 Apr 2016 14:10:46 +0000</pubDate>
	</item>
</rss>
