मैं लिनक्स से mingw और crosscompilation का उपयोग कर Win32 के लिए प्लग-इन विकसित कर रहा हूं। यद्यपि मेरी प्लगइन सफलतापूर्वक एप्लिकेशन द्वारा लोड की गई है और मुझे ऐप से कॉम-इंटरफ़ेस भी मिला है, मैं वहां से फ़ंक्शंस कॉल नहीं कर सकता - ऐप क्रैश हो गया है। मुझे लगता है कि यह mingw में इंटरफेस कार्यान्वयन के गलत vtable संरेखण के कारण है (यह पूरी तरह से एमएसवीएस के साथ काम किया)।आभासी कार्यों के लिए संरेखण कैसे सेट करें?
किसी भी मदद की सराहना की जाएगी, धन्यवाद।
COM भी एबीआई है, लेकिन हो सकता है कि मिनीगब्लूडब्ल्यू इतनी आसानी से समर्थन न करे। :) (COM (बिल्कुल सही नहीं है) पर आधारित है कि किसी दिए गए प्लेटफॉर्म पर सभी सी ++ कंपाइलर्स एक ही vtable संरचना और लेआउट का उपयोग करेंगे। मुझे आश्चर्य है कि MinGW इसे इतना कठिन बनाता है क्योंकि COM Win32 का एक प्रमुख हिस्सा है अन्य सी ++ कंपाइलर्स COM ठीक समर्थन करते हैं, हालांकि, आपको सी या एक ही कंपाइलर का उपयोग करने की आवश्यकता नहीं है; विंडोज के लिए सिर्फ एक सभ्य सी ++ कंपाइलर।) बेशक, आप सीधे सी में COM भी कर सकते हैं (कोड द्वारा उत्पन्न कोड आईडीएल कंपाइलर आम तौर पर एक सी इंटरफ़ेस भी परिभाषित करता है) यदि यह आसान है। –