2012-07-11 9 views
5

मैंने अपने कंप्यूटर (उबंटू 12) पर सफलतापूर्वक एक प्रोग्राम (एसडीएल समेत) संकलित किया है और a.out रन ठीक है!किसी अन्य कंप्यूटर पर a.out चल रहा है

अब, अगर मैं किसी मित्र को a.out भेजता हूं, तो यह काम नहीं करता है। (सरल त्रुटि संदेश देता है ("Can't be run..") या कुछ) लेकिन अगर मैं अपने दोस्तों के कंप्यूटर पर संबंधित स्रोत फ़ाइल को फिर से संकलित करता हूं, तो यह काम करता है!

मुझे अपने प्रोग्राम को अन्य कंप्यूटर पर चलाने योग्य बनाने के लिए कैसे पैक/संकलित/बनाना है?

+2

उनके पास शायद पुस्तकालयों के एसडीएल, ग्लिबैक, शायद libstdC++ के संगत संस्करण नहीं हैं। आपके पास कौन से संस्करण हैं और उसके पास कौन से संस्करण हैं? आप अपनी बाइनरी को स्थिर रूप से लिंक करने में सक्षम हो सकते हैं, अन्यथा आपको न्यूनतम लाइब्रेरी संस्करण के लिए संकलन करना होगा जिसे आप समर्थन देना चाहते हैं। – Rup

+0

को exe पर chmod करने की आवश्यकता हो सकती है लेकिन नीचे दिया गया उत्तर लागू होता है और आगे बढ़ने का तरीका मैं – mathematician1975

+9

का सुझाव दूंगा यह एक अच्छा सवाल है। चालीस वर्षों में, कोई भी साधारण जवाब के साथ नहीं आया है। –

उत्तर

5

निष्पादन योग्य अक्सर पर्यावरण/मशीन के लिए विशिष्ट होते हैं जिन्हें वे बनाए गए थे। यहां तक ​​कि यदि एक ही प्रोसेसर/हार्डवेयर शामिल है, तो लाइब्रेरी पर निर्भरता हो सकती है जो निष्पादन योग्य को अन्य मशीनों पर चलने से रोक सकती है।

क्या आप संकलन के लिए निर्देशों के साथ स्रोत कोड भेज सकते हैं? वहाँ कोई एनडीए या अन्य समस्याओं के दृष्टिकोण को रोकने मानते हुए है

बेशक, अंत में यह संभव है, के बाद कैसे बाइनरी वितरित कर रहे हैं है कि सभी (मैं केवल यह है कि जब से तुम उल्लेख किया तो यह आपके लिए काम किया सुझाव है), लेकिन वे सावधानीपूर्वक निर्माण किया जाएगा और स्थिर रूप से जुड़े पुस्तकालय होंगे (यानी सब कुछ निष्पादन योग्य का हिस्सा है)।

+0

मेरे पास अब स्रोत नहीं है, लेकिन यहां इस स्निपेट का एक ही प्रभाव होना चाहिए: http://lazyfoo.net/SDL_tutorials/lesson01/linux/cli/index.php – user1511417

+0

मुझे लगता है कि एसडीएल समस्या है .. डुनो – user1511417

+0

@ user1511417 शायद, मैं दुर्भाग्य से इसके बारे में परिचित नहीं हूं। लेकिन यह एक असामान्य समस्या/दुविधा (सॉफ्टवेयर वितरित) नहीं है जिसे आपने अनुभव किया है। – Levon

0

अपने दोस्त से पूछो निम्न कार्य करें:

chmod +x a.out 
ldd a.out 

वह क्या देख रहा है? मुझे लगता है कि, दो वातावरण काफी हद तक समान हैं (उदाहरण के लिए, दोनों उबंटू, इत्यादि)

+0

मैं गंभीरता से सोचता हूं, यही वह है जो उसे चाहिए। इसके अलावा, स्रोत उपलब्ध होने पर बाइनरी वितरित करना कुछ ऐसा है जो आप कर सकते हैं यदि आप कर सकते हैं। (मुझे लगता है कि यहां कोई एनडीए शामिल नहीं है)। – Aftnix

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

  • कोई संबंधित समस्या नहीं^_^