سؤال

أحاول تضمين بعض رمز Python في تطبيق C ++ الذي أقوم بتطويره مع MS Visual Studio C ++ 2010. لكن عندما أقوم بتشغيل البرنامج ، فإنه يخرج مع الكود 0x01 عندما أتصل بـ Py_initialize ().

لا أعرف كيف اكتشف الخطأ الذي حدث. يقول ملف المساعدة ، لا يمكن لـ PY_INITIALIZE إرجاع قيمة الخطأ ، فهو يفشل فقط. ولكن ، لماذا فشلت؟

أنا أستخدم python27_d.dll مجهز ذاتيًا ، والتي قمت بإنشائها مع ملفات مشروع MSVS في التنزيلات المصدر من python.org.

هل كانت مفيدة؟

المحلول 2

حسنًا ، اكتشفت أخيرًا الخطأ الذي حدث. لقد قمت بتجميع Python27_d.dll بنفس VC10 مثل برنامجي نفسه. ولكن يتم تجميع برنامجي عادة على أنه 64 بت قابلة للتنفيذ. لقد نسيت فقط تجميع DLL لـ X64 أيضًا. لم أكن أعتقد أن هذا سيؤدي إلى مثل هذا السلوك المزعج ، حيث اعتقدت أنني سأحصل على خطأ Linkr بعد ذلك.

نصائح أخرى

هل هناك مثال بسيط من نوع "Hello World" لرمز PY_INITIVER في Python SDK يمكنك البدء به؟

سيخبرك ذلك على الأقل إذا كان لديك إعداد بيئة البرمجيات بشكل صحيح ، أو إذا كان الخطأ في استخدامك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top