मुझे लगता है कि मैं जब दृश्य स्टूडियो 10 का उपयोग कर gdcm निर्माण ठीक करने के लिए कोशिश कर रहा हूँ चेतावनी की एक श्रृंखला (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)
तो मुझे लगता है कि ठीक से पढ़ रहा हूँ, इसका मतलब है कि लिंकेज लगातार XMLCALL-- सही माध्यम से __cdecl है? क्योंकि, यदि ऐसा है, तो चेतावनी अनिवार्य है, या क्या मैं इसे गलत व्याख्या कर रहा हूं?
यह था - कि dllimport एक dllexport होना चाहिए था। – mmr
वाह, मैं एक वैरिएबल निर्यात के साथ भी एक चूक गया। शीर्षलेख में मेरे पास 'COMMON_API बाहरी कॉन्स std :: स्ट्रिंग कुछ एसआरटी' जैसा था, जबकि सीपीपी फ़ाइल में मुझे 'const std :: string someStr ("पृष्ठभूमि") था, जो निर्यात/आयात विनिर्देशक गायब था। एपीआई मैक्रो टीमों को इस बात पर आधारित करता है कि इस परियोजना के पास एक मैक्रो परिभाषित है जिसे इसे डीएलएल बनाने के लिए कहा गया है या नहीं। मुझे इस पर नजर रखना होगा। – jxramos