dll MinGW में libdl.so का उपयोग करना




(2)

मुझे एक ही समस्या का सामना करना पड़ा (एमएसआईएस 2, 32 बिट संस्करण कंपाइलर आदि)।

मेरे लिए मुझे पता चला कि libdl.a / usr / lib में उपलब्ध था लेकिन इसमें / mingw32 / lib में नहीं है मैं इसे / mingw32 / lib फ़ोल्डर से लिंक करके समस्या को हल करने में सक्षम था:

ln -s /usr/lib/libdl.a /mingw32/lib

मैं मिनगू में एक डीएलएल फ़ाइल बनाना चाहता हूं, मेरे पास कई ऑब्जेक्ट निर्भरताएं हैं, ताकि मेरी ऑब्जेक्ट निर्भरता में से एक libdl.so हो, मैं इस ऑब्जेक्ट को यूनिक्स में बस के रूप में जोड़ता हूँ:

g++ xx.o yy.o /usr/lib/libdl.so -o module.so

लेकिन मिनजीडब्ल्यू में, मुझे इस वस्तु को जोड़ने का कोई अंदाजा नहीं है। कोई विचार?


एक न्यूनतम गैब्ड libdl है जिसका उपयोग आप यूनिक्स के ठीक नीचे कर सकते हैं। वेबसाइट से उद्धरण:

यह लाइब्रेरी डीएलएफसीएन के लिए एक आवरण लागू करती है, जैसा कि पॉसिक्स और एसयूएस में निर्दिष्ट है, विंडोज़ एपीआई में मिली गतिशील लिंक लायब्रेरी फ़ंक्शन के आसपास।

इसे बनाने के लिए मिनगू की आवश्यकता है

आप पूर्व-निर्मित बाइनरी प्राप्त कर सकते हैं (मिनजीडब्ल्यू जीसीसी 3.4.5 के साथ) और डाउनलोड अनुभाग से एक बंडल स्रोत कोड प्राप्त कर सकते हैं।

निम्न कमांड एक मानक मिनजीडब्ल्यू स्थापना (इसे अपने मिनजीडब्ल्यू शेल से चलाने के लिए) में बना और स्थापित करें:

./configure --prefix=/ --libdir=/lib --incdir=/include && make && make install

अपनी लाइब्रेरी को डीएलएल के रूप में संकलित करने के लिए, निम्न कमांड का प्रयोग करें:

g++ -shared xx.o yy.o -ldl -o module.dll