मेरे पास एक tlb फ़ाइलें हैं जिनमें कुछ फ़ंक्शन घोषणा शामिल है जिन्हें मुझे उपयोग करने की आवश्यकता है।देशी सी ++ प्रोजेक्ट में tlb फ़ाइलों का उपयोग कैसे करें
अगर मैं का उपयोग
#import "type_library.tlb"
मैं correclty मेरे कोड से समारोह देख सकते हैं:
tlb_namespace::required_function();
लेकिन जब मैं परियोजना संकलन लिंकर का कहना है कि tlb_namespace :: required_function एक अनसुलझे बाह्य प्रतीक है ।
मैं इस तरह की परियोजना का सफलतापूर्वक निर्माण कैसे कर सकता हूं?
संपादित:
मैं एक डमी VBA का उपयोग परियोजना में एक ही प्रकार के पुस्तकालय का इस्तेमाल किया है। मैंने टाइप लाइब्रेरी का संदर्भ जोड़ा है और मैंने देखा है कि टाइप लाइब्रेरी में निहित कुछ फ़ंक्शन सही तरीके से बुलाए जाते हैं। लेकिन उनमें से कुछ नहीं हैं। वीबीए का कहना है कि यह संबंधित डीएल में अपने प्रवेश बिंदु का पता नहीं लगा सकता है।
क्या यह सी ++ ऐप बनाते समय अनसुलझा बाहरी प्रतीक को समझा सकता है?
मैं भी देखा है कि नाकाम रहने समारोह इस तरह tlb घोषित किये गए हैं:
UPPER_function_name
लेकिन dll में इस तरह की घोषणा की जाती:
Upper_function_name
इस मुद्दे हो सकता है?
क्या बाइनरी टीएलबी फ़ाइल या डीएलएल को सीधे संशोधित करने में इस प्रकार की त्रुटि को हल करना संभव है?
'#import" type_library.tlb "है हल होगा आपके प्रोजेक्ट में इस टीएलबी के लिए एकमात्र # आयात निर्देश। क्या यह फ़ंक्शन कॉल के समान सीपीपी में रहता है? जनरेटेड .tlh और .tli फ़ाइलों में परिभाषित 'आवश्यक_फंक्शन' कैसे है? –
@ZdeslavVojkovic अब के लिए प्रोजेक्ट एक बहुत ही सरल है इसलिए #import केवल एक है और यह कॉल की उसी .cpp फ़ाइल में रहता है। मैंने .tlh और .tli फ़ाइलों को उत्पन्न करने का प्रयास किया है ... वे केवल तब दिखाई देते हैं जब मैं प्रोजेक्ट प्रॉपर्टी \ प्रीप्रोसेसर जेनरेट प्रीप्रोसेस्ड फ़ाइल पर जाता हूं। हालांकि मैं शायद उन्हें परियोजना में सही मोड में नहीं जोड़ता क्योंकि अगर मैं करता हूं तो मुझे एक और लिंकर त्रुटि मिलती है। – sblandin
आपको उन्हें जोड़ने की ज़रूरत नहीं है। वे आपके रिलीज/डीबग फ़ोल्डर में निर्माण के दौरान बनाए जाएंगे, इसलिए उन्हें वहां देखें। –