मेरे पास दो DLLs a.dll और b.dll हैं और प्रत्येक में मेरे पास एक वर्ग AClass और BClass है।
मैं एसीलास और बीसीएलएएस दोनों को एक ही इंटरफेस एबीबीबेस का उत्तराधिकारी और कार्यान्वित करना चाहता हूं जो एक शुद्ध अमूर्त वर्ग है।
प्रत्येक कक्षा में मैंने __declspec (dllimport) और __declspect (dllexport) के लिए # डिफाइन सेट किए हैं। जब मैं संकलित करने के लिए कोशिश कर रहा हूँ मैं इस मिल:शुद्ध बेस क्लास को डीएलएल से निर्यात किया जाना चाहिए?
चेतावनी C4275: गैर dll-इंटरफ़ेस वर्ग 'Aclass' dll इंटरफ़ेस वर्ग के लिए आधार के रूप में इस्तेमाल किया 'AbsBase'
जो मूल रूप से मुझे चाहता है __declspec के रूप में घोषित करने के लिए AbsBase (dllexport)
लेकिन अगर कंपाइलर के पास यह तरीका होगा, तो मुझे एएसबीबेस को a.dll और b.dll दोनों से निर्यात करने की घोषणा करनी होगी।
कक्षा के इंटरफ़ेस को निर्यात करने की आवश्यकता क्यों है?
क्या इसके आसपास कोई रास्ता है? क्या मुझे वास्तव में डीएलएल दोनों से एब्सबेस निर्यात करना चाहिए? क्या इसमें कुछ स्वाभाविक रूप से गलत नहीं है? (मैं एक नया XXX_EXPORT मैक्रो निर्धारित करने की आवश्यकता होगी ..)
क्या आप तीसरा डीएलएल बना सकते हैं? – jmucchiello
हमें अपना इंटरफ़ेस और कक्षा घोषणाएं दिखाएं। –