मैं सी ++ से एनाकोंडा अजगर संकुल का उपयोग करने की Boost.python इसका उपयोग करने में इसी तरह की त्रुटियों में भाग बनाता है। मुझे यह कहकर शुरू करना है कि सी ++ बूस्ट पुस्तकालयों का मेरा व्यक्तिगत प्रभाव यह है कि वे अपूर्ण दस्तावेज के साथ एक अच्छा विचार हैं। Boost.org पर दस्तावेज का एक टन है, लेकिन यह हमेशा महत्वपूर्ण विवरण छोड़ने लगता है, जो लेखक उल्लेख करने से परेशान होने के लिए बहुत तुच्छ मानते हैं। लेकिन, मुझे अपने साबुन बॉक्स से बाहर निकलने दें ...
मेरे लिए चल रहे प्रोत्साहन [उम्मीद है कि आखिरकार] बूस्ट प्राप्त करने के बारे में पता चलता है। पाइथन मेरे सिस्टम पर काम करने के लिए है कि इतने सारे महान पायथन वैज्ञानिक पैकेज हैं [ SymPy, Numpy, SciPy, matplotlib, आदि] एनाकोंडा वितरण में शामिल है और क्यूटी निर्माता के साथ निर्मित सी ++ परियोजनाओं से उन्हें एक्सेस करना वास्तव में बहुत अच्छा होगा। और बूस्ट दस्तावेज़ों का सुझाव है कि Boost.Python मेरे लिए ऐसा करना चाहिए। हां, ये दस्तावेज़ महत्वपूर्ण विवरण छोड़ने लगते हैं कि लेखक उल्लेख करने से परेशान होने के लिए बहुत ही तुच्छ मानते हैं ...
वैसे भी, मुझे एक बिल्ड त्रुटि मिली है जो दर्शाती है कि python.h नहीं मिला। मैं अपने क्यूटी निर्माता परियोजना की .pro फाइल करने के लिए इन दो बयान है, जो qmake जहां बूस्ट अपनी फ़ाइलों में शामिल हैं स्थापित किया है और बता जोड़कर वह से छुटकारा मिला जहां एनाकोंडा अपने सिस्टम पर इसके python.h फ़ाइल स्थापित:
INCLUDEPATH += C:\boost_1_55_0
INCLUDEPATH += C:\Anaconda\include
उसके बाद , मुझे एक एलएनके 1104 त्रुटि मिली है जो दर्शाती है कि 'python27.lib' नहीं मिला। मैंने इन दो कथनों को मेरी .pro फ़ाइल में जोड़कर छुटकारा पा लिया। पहले एनाकोंडा की python27.lib फ़ाइल कहां से qmake बताता है। दूसरा क्यूमेक कहता है कि बढ़ावा कहाँ मिलेगा।पायथन बाइनरी:
LIBS += "C:/Anaconda/libs"
LIBS += "C:/boost_1_55_0/stage/lib/libboost_python-vc110-mt-gd-1_55.lib"
लेकिन, जहां तक मैं अब तक प्राप्त कर चुका हूं। अब मुझे एक त्रुटि मिलती है जो यह इंगित करती है कि यह फ़ाइल 'C: /Anaconda/libs.obj' नहीं खोल सकती है जिसे मैंने अभी तक ठीक नहीं पाया है। त्रुटि, निश्चित रूप से, उस फ़ाइल के कारण मौजूद नहीं है। चुनौती यह जानना है कि इसकी मांग क्यों की जा रही है और इसे कहां मिलना है।
"सी ++ में पाइथन मॉड्यूल चलाने" का क्या मतलब है? ऐसा करने के लिए, आपको [एक पायथन दुभाषिया एम्बेड करना होगा] (http://docs.python.org/2/extending/embedding.html)। बस '# शामिल करें' ऐसा नहीं करता है। –
abarnert
इस बीच, क्या आपने पढ़ा है [विंडोज़ पर बिल्डिंग सी और सी ++ एक्सटेंशन] (http://docs.python.org/2/extending/windows.html) और [लिंकिंग आवश्यकताएं] (http://docs.python.org/ 2/विस्तार/एम्बेडिंग.html # लिंकिंग-आवश्यकताएं) (एम्बेडिंग के लिए)? क्या आप अपने दुभाषिया को स्थिर रूप से, या गतिशील रूप से एम्बेड करना चाहते हैं? आपको उस दुभाषिया को कहां मिला जहां आप एम्बेड करने की कोशिश कर रहे हैं? – abarnert
पायथन स्रोत कोड से पाइथन libs बनाने के लिए शायद यह आसान है। – Aya