title: How can I fix this vs10 inconsistent dll linkage warning?
body: <p>I have a series of warnings that I'm trying to fix when building <a href="http://sourceforge.net/apps/mediawiki/gdcm/index.php?title=Main_Page" rel="noreferrer">gdcm</a> using visual studio 10 (32 bit version):</p>
  
  <pre><code>4&gt;..\..\..\..\gdcm\Utilities\gdcmexpat\lib\xmlparse.c(647): warning C4273: 'XML_ParserCreate' : inconsistent dll linkage
  4&gt;          d:\src\gdcm\gdcm\utilities\gdcmexpat\lib\expat.h(206) : see previous definition of 'XML_ParserCreate'
  </code></pre>
  
  <p>The function call itself looks like:</p>
  
  <pre><code>XML_Parser XMLCALL
  XML_ParserCreate(const XML_Char *encodingName)
  {
     return XML_ParserCreate_MM(encodingName, NULL, NULL);
  }
  </code></pre>
  
  <p>where </p>
  
  <pre><code>#define XMLCALL __cdecl
  </code></pre>
  
  <p>and </p>
  
  <pre><code>XMLPARSEAPI(XML_Parser)
  XML_ParserCreate(const XML_Char *encoding);
  </code></pre>
  
  <p>where </p>
  
  <pre><code>#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL
  </code></pre>
  
  <p>and</p>
  
  <pre><code>#define XMLIMPORT __declspec(dllimport)
  </code></pre>
  
  <p>If I'm reading that properly, that means that the linkage is consistently __cdecl through XMLCALL-- right?  Because, if so, then the warning is superfluous, or am I misinterpreting this? </p>