मैं एक बड़ी बाइनरी रखना चाहता हूं जो पाइथन दुभाषिया और एक छोटी लिपि को एम्बेड करता है - मैं इस पूरी स्थिर लिंकिंग के लिए बिल्कुल नया हूं, & कॉन्फ़िगर करें और जीसीसी एट अल कॉन्फ़िगर करें। कृपया, क्या कोई मुझे ऐसे निष्पादन योग्य बनाने में बुनियादी कदमों का वर्णन कर सकता है?पायथन एम्बेडिंग
मै मैकोज़ 10.6 पर हूं, मैंने पायथन 3.3 बीटा डाउनलोड किया है। फिर, मैं "test.c" बनाया:
#include <Python.h>
int
main(int argc, char *argv[])
{
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\n"
"print('Today is', ctime(time()))\n");
Py_Finalize();
return 0;
}
अब, किसी फ़ोल्डर में, मैं दोनों "अजगर-3.3.0b1" फ़ोल्डर और "test.c" फाइल की है।
मैं टाइप किया:
gcc -I ./Python-3.3.0b1 -o test test.c
लेकिन मैं "शामिल" त्रुटि के बहुत सारे मिल गया।
लेकिन मुझे यह भी यकीन नहीं है कि यह आगे बढ़ने का सही तरीका है ..? क्या मुझे पहले किसी तरह से सिर्फ पायथन बनाना चाहिए और फिर "test.c" के साथ "लिंक" करना चाहिए?
बीटीडब्लू।, यदि पाइथन रिलीज़ हो जाता है तो क्या वे "./configure" और "मेक" की एक ही प्रक्रिया का उपयोग करते हैं? क्या वे कुछ विशेष विकल्पों का उपयोग करते हैं या क्या मैं python.org से प्रदान किए गए एक के समान पाइथन निष्पादन योग्य (समान) बनाने में सक्षम हूं?
इसके अलावा, मैंने इस "./configure" और "मेक" को आजमाया और यह * build/lib.macosx-10.6-x86_64-3.3 "नामक फ़ोल्डर बना दिया, जिसमें बहुत से * .so फ़ाइलें (?) हैं लेकिन वहां है कुछ भी "पायथन" या इसी तरह कहा जाता है ...?
पथ में हेडर फ़ाइल? –
आप पाइथन के बीटा संस्करण का उपयोग क्यों कर रहे हैं? इसके अलावा, भले ही आप अपने आवेदन में पाइथन को स्थाई रूप से लिंक करते हैं, फिर भी आपको सभी stdlib सामानों की आवश्यकता होगी जो कि अजगर कोड है और इस प्रकार इसे आपकी बाइनरी में आसानी से जोड़ा जा सकता है। – ThiefMaster
मुझे बीटा के बारे में वास्तव में परवाह नहीं है - मैंने अभी पढ़ा है कि एम्बेडिंग तकनीक v2 से v3 में थोड़ा बदल गई है। –