How to set the environment in which python snippet can run in c++ program? -
मैंने दो फ़ाइलों को embed.py उपयोगएम्बीड सीपीपी <पूर्व> कमांड UPDATE : दाऊद और अलेक्जेंडर से युक्तियों के लिए धन्यवाद। यह परीक्षण ठीक करने के लिए पर्यावरण कैसे सेट करें, इसके बारे में सुझावों के लिए धन्यवाद। मेरे Fedora लिनक्स में पैकेज लिनक्स पर, आप संकलक झंडे (अजगर-कॉन्फ़िग - cflags) और लिंकर झंडे (पायथन-कॉन्फिग --ldflags) प्राप्त करने के लिए उदाहरण के लिए: अपने प्रोग्राम को संकलित करने के लिए आप कर सकते हैं चलाएँ जी ++ उपयोग एंबेडेड सीपीपी- "सीएफएलएजी" "एलडीएफएलएग" एम्बेड करें: मुझे थोड़ी सी useEmbed.cpp प्रयोग करना पड़ा: embed.py
का उपयोग करें embedm.cpp बना दिया है मेरी होम डाइरेक्टरी।
आयात ओएस प्रिंट os.getcwd ()
#include & lt; iostream & gt; #include "Python.h" नामस्थान std का उपयोग कर; Int main () {Py_Initialize (); PyRun_SimpleFile ( "embed.py"); Py_Finalize (); वापसी 0; }
जी ++ उपयोग एंबेडेड सीपीपी -ओ उपयोग एंबेड रिटर्न
पायथन एच नहीं मिला , मुझे क्या करने के लिए अगला कदम क्या करना चाहिए < कोड>। सीपीपी फ़ाइल सफलतापूर्वक संकलित हुई और सही उत्तर वापस लौटाया?
अजगर-डेवल को स्थापित करने के बाद समस्या का समाधान किया गया है।
python-config का उपयोग कर सकते हैं।
# & gt; अजगर-कॉन्फ़िग - सीफलाग्स- I / usr / include / python2.5 -i / usr / include / python2.5 -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall- वर्टि-प्रोटोटाइप < / कोड>
# & gt; Python-config -ldflags -l / usr / lib / python2.5 / config -lpthread -ldl -lutil -lm -lpython2.5
# & gt; जी ++ उपयोग एंबेडेड सीपीपी- ए एम्बेड -आई / यूएसआर / शामिल / पयथोन -2.5 -आई / यूएसआर / शामिल / पायथन 2 -फनो-सख्त-एलियासिंग -डीएनडीईयूयूयूजी -जी-एफडब्ल्यूआरपी-ओ 2 -Wall -Wstrict-प्रोटोटाइप-एल / Usr / lib / python2.5 / config -lpthread -ldl -lutil -lm -lpython2.5
#include "Python.h" # शामिल है & lt; iostream & gt; नेमस्पेस एसटीडी का उपयोग करना; Int main () {Py_Initialize (); FILE * file = fopen ("embed.py", "r +"); PyRun_SimpleFile (फ़ाइल, "embed.py"); Py_Finalize (); fclose (फ़ाइल); वापसी 0; }
Comments
Post a Comment