मैं कैमरे लाइब्रेरी को गतिशील रूप से लोड करने की कोशिश कर रहा हूं। इसलिए सरल कैमरा कार्यों तक पहुंच प्राप्त करने के लिए एक लिनक्स निष्पादन योग्य फ़ाइल में फ़ाइल करें।dlopen() का उपयोग कर .so पुस्तकालयों को एक्सेस करना अनिर्धारित प्रतीक त्रुटि
मैं कर ऐसा करते हैं करने के लिए प्रयास कर रहा हूँ:
if ((newHandle = dlopen("./libCamera.so",RTLD_LAZY | RTLD_GLOBAL)) == NULL)
{
printf("Could not open file : %s\n", dlerror());
return 1;
}
हालांकि इस विफल रहता है और मैं निम्नलिखित उत्पादन प्राप्त करते हैं: "नहीं किया जा सका फ़ाइल खोलने: libCamera.so: अपरिभाषित प्रतीक: ZTVN10 _cxxabiv117__class_type_infoE"
मैं कैसे पता लगा सकता हूं कि यह किस प्रतीक पर निर्भर है?
मैंने 'nm -DC libCamera.so' में सूचीबद्ध एक फ़ंक्शन देखा लेकिन यह अभी भी अपरिभाषित था। अंत में यह पता चला कि .h फ़ाइल में तर्कों में से एक का गठन था और .cpp में यह स्थिर नहीं था जिसके कारण इसे अपरिभाषित किया गया था। –