2013-02-04 6 views
8

मुझे सी ++ प्रोग्राम विकसित करना है जिन्हें वैज्ञानिक लिनक्स 5 या 6 पर चलाना है। मैं उबंटू पर क्यूटी क्रिएटर के साथ विकसित करना चाहता हूं जिसमें एससीएल 6 पर पाए गए एक से अधिक हालिया पुस्तकालय हैं।सी/सी ++ कार्यक्रमों के लिए पाइथन के वर्चुअलनेव के बराबर है?

क्या सी/सी ++ कार्यक्रमों के लिए पाइथन के वर्चुअलनेव के बराबर है?

सभी आवश्यक पुस्तकालयों और निर्भरताओं के साथ एक क्रोट का उपयोग करना नौकरी कर सकता है। क्या यह अस्तित्व में है? क्रोट के उपयोग पर http://rcrowley.org/articles/dependencies.html देखें।

+0

"सभी आवश्यक पुस्तकालयों और निर्भरताओं के साथ एक क्रोट का उपयोग करना नौकरी कर सकता है। क्या यह अस्तित्व में है?" - हाँ, लेकिन आपको इसे स्वयं सेट करना होगा, और फिर आप स्पष्ट रूप से chroot से उपयोगकर्ता फ़ाइलों को पढ़/लिख नहीं सकते हैं। लेकिन आप शायद समान रूप से निर्भरताओं को समान निर्देशिका में रख सकते हैं और/या एक प्रारंभ-अप स्क्रिप्ट में LD_LIBRARY_PATH का उपयोग कर सकते हैं जो आपके मुख्य ऐप को लोड करता है। लेकिन क्या आपको वास्तव में अधिक हालिया पुस्तकालयों का उपयोग करने की ज़रूरत है? इस तरह के विज्ञापन-संबंधी अपडेट करने के लायक होने की तुलना में अक्सर यह अधिक परेशानी होती है। – Rup

+0

वास्तव में मुझे वास्तव में क्रोट द्वारा प्रदान की गई सुरक्षा की आवश्यकता नहीं है। लेकिन एससीएल 6 संदर्भ में मेरे कार्यक्रमों के अजीब आउटपुट को देखते हुए, मुझे पुस्तकालय निर्भरताएं जैसे /lib/ld-linux.so.2 दिखाई देती हैं जो डेबियन और एससीएल 6 के बीच अलग हो सकती है। मुझे लाइब्रेरी linux-gate.so.1 भी दिखाई देता है जिसमें कोई विशेष पथ नहीं है। तो मुझे यह भी यकीन नहीं है कि कार्यक्रम एक क्रोट पर्यावरण में चलेगा क्योंकि मुझे नहीं पता कि यह पुस्तकालय कहां रखा जाए। – chmike

+0

आप नहीं करते हैं। लिनक्स-गेट कर्नेल के लिए एक इंटरफ़ेस है - यह वर्चुअल लाइब्रेरी है और डिस्क पर मौजूद नहीं है। ld-linux साझा लाइब्रेरी लोडर (मुझे लगता है) और सुंदर मानक भी है। इन पुस्तकालयों में से कोई भी जो सीधे कर्नेल (libc मुझे लगता है) के साथ इंटरफेस करता है, लिनक्स वितरण के बीच अलग हो सकता है क्योंकि कर्नेल अलग होंगे। आपको बस पुस्तकालयों का उपयोग करने में सक्षम होना चाहिए जो जगह में मौजूद हैं। – Rup

उत्तर

1

क्रोट पर्यावरण बनाने के लिए डीबूटस्ट्रैप का उपयोग करें (या एक अलग विभाजन पर उबंटू भी इंस्टॉल करें)। माउंट-बाय बाइंड के साथ अपने घर के डीआईआर को माउंट करें। Schroot सुविधाजनक chroot सेटअप का प्रयोग करें।

http://manpages.ubuntu.com/manpages/precise/en/man8/debootstrap.8.html

http://manpages.ubuntu.com/manpages/precise/en/man8/mount.8.html

http://manpages.ubuntu.com/manpages/precise/en/man1/schroot.1.html

1

नहीं यकीन है कि यह तुम क्या जरूरत के लिए पर्याप्त हल्के है (मैं से परिचित नहीं हूँ virtualenv) लेकिन आप CDE Project जो एक बहुत ही अच्छा है कोशिश कर सकते हैं सभी प्रकार की निर्भरताओं के साथ वर्चुअल सैंडबॉक्स बनाने का तरीका।

+0

यह बहुत दिलचस्प लगता है जब निर्भरता ज्यादा नहीं बदलती है। मेरे मामले में मैं एक डेबियन कंप्यूटर पर हूं और SL5 ओएस के साथ निर्भरताओं के साथ कोड विकसित करने की आवश्यकता है। मैं भी विकास के लिए QtCreator का उपयोग करने में सक्षम होना चाहता हूँ। – chmike

संबंधित मुद्दे