यहां समस्या है:जीसीसी में, मैं सभी प्रतीकों को निर्यात किए बिना साझा लाइब्रेरी के लिए सभी टाइपइन्फो प्रतीकों को कैसे निर्यात कर सकता हूं?
मेरे पास एक साझा लाइब्रेरी है जो डिफ़ॉल्ट रूप से प्रतीकों को छुपा रही है। असल में, यह एक विशिष्ट फ़ाइल में कुछ प्रतीकों को निर्यात करने के लिए -Xlinker --version-script = विकल्प का उपयोग करता है लेकिन बाकी सभी को छुपाता है। मुद्दा यह है कि यदि हम अन्य साझा पुस्तकालयों में परिभाषित अपवादों को पकड़ने का प्रयास करते हैं, तो हमें समस्याएं मिलती हैं क्योंकि टाइपिफ़ो इस साझा लाइब्रेरी से छिपा हुआ है। मैं अपवाद वर्गों को स्पष्ट रूप से दृश्यमान नहीं बना सकता क्योंकि उन्हें एक ओपन सोर्स लाइब्रेरी में परिभाषित किया गया है जो मेरे नियंत्रण से बाहर है। मैं संस्करण-स्क्रिप्ट प्रतीक फ़ाइल में अपवाद वर्गों के टाइपइन्फो के लिए उलझन में नामों को स्पष्ट रूप से सूचीबद्ध नहीं करना चाहता क्योंकि इस पुस्तकालय पर काम कर रहे कई डेवलपर्स हैं और वे कुछ अपवाद वर्ग के लिए ऐसा करना भूल गए हैं भविष्य।
मैंने ओपन सोर्स से पहले #pragma जीसीसी दृश्यता पुश (डिफ़ॉल्ट) का उपयोग करने का प्रयास किया है। एचपीपी फाइलें लेकिन यह काम नहीं लग रहा था - प्रतीकों को दिखाई नहीं दे रहा था।
मैंने -विगेशन-एमएस-कंपैट का उपयोग करने का भी प्रयास किया है जिसने टाइपइन्फो प्रतीकों को निर्यात किया है, लेकिन कई अन्य प्रतीकों को भी निर्यात किया है जिन्हें मैं निर्यात नहीं करना चाहता था। लाइब्रेरी में सी और सी ++ कोड दोनों हैं इसलिए मुझे यकीन नहीं है कि यह इस विकल्प के साथ कैसे काम करना चाहिए जो केवल सी ++ के लिए है।
मुझे वास्तव में जो चाहिए वह एक ऐसा विकल्प है जो सभी टाइपिन्फो प्रतीकों को दिखाई देगा, जबकि अन्य प्रतीकों को छुपाएगा (जब तक कि वे स्पष्ट रूप से दिखाई नहीं दे रहे हों)। क्या इस तरह कोई विकल्प है?
शायद ' एनएम 'या ऐसा कुछ? केवल अनुमान है। –
यह जाने का एक अच्छा तरीका हो सकता है। मैंने इसके बारे में सोचा था और हालांकि मुझे अतिरिक्त स्क्रिप्टिंग काम पसंद नहीं है, लेकिन यह सबसे अच्छा जवाब होगा। तुम्हारे सुझाव के लिए धन्यवाद! –