У меня есть ряд предупреждений, которые я пытаюсь исправить при сборке gdcm с использованием Visual Studio 10 (32-разрядная версия):
4>..\..\..\..\gdcm\Utilities\gdcmexpat\lib\xmlparse.c(647): warning C4273: 'XML_ParserCreate' : inconsistent dll linkage
4> d:\src\gdcm\gdcm\utilities\gdcmexpat\lib\expat.h(206) : see previous definition of 'XML_ParserCreate'
Сам вызов функции выглядит так:
XML_Parser XMLCALL
XML_ParserCreate(const XML_Char *encodingName)
{
return XML_ParserCreate_MM(encodingName, NULL, NULL);
}
, где
#define XMLCALL __cdecl
и
XMLPARSEAPI(XML_Parser)
XML_ParserCreate(const XML_Char *encoding);
, где
#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL
и
#define XMLIMPORT __declspec(dllimport)
Если я читаю это правильно, это означает, что связь последовательно __cdecl через XMLCALL-- правильно? Потому что, если это так, то предупреждение является излишним, или я неправильно это понимаю?