Я скомпилировал исходный код python для 32bit и пытаюсь использовать API Py_Initialize()
для инициализации интерпретатора python в моем приложении на C++.
Py_Initialize()
ведет к аварии ниже. Пожалуйста, помогите мне, как решить эту проблему.C++ Python-интерпретатор - Py_Initialize сбой
Am компиляции моего кода, как показано ниже:
g++ ./Pythoninterpreter.cpp -m32 -lpthread -ldl -lutil /usr/lib/libm.a /usr/lib/libpython2.7.a -Xlinker -export-dynamic -I/root/python_tar/Python-2.7.6/Include -I/root/python_tar/Python-2.7.6 -o pythonintepreter
gdb back trace
===============
#0 0x080e8ba7 in va_build_value (format=0x8152ec1 "", va=0xffed7564 "\240\344\027\b\244y\355\377", flags=0) at Python/modsupport.c:521
521 memcpy(lva, va, sizeof(va_list));
(gdb) bt
#0 0x080e8ba7 in va_build_value (format=0x8152ec1 "", va=0xffed7564 "\240\344\027\b\244y\355\377", flags=0) at Python/modsupport.c:521
#1 0x080e8ca6 in Py_BuildValue (format=0x8152ebe "[O]") at Python/modsupport.c:485
#2 0x080a77a7 in mro_implementation (type=0x817e4a0) at Objects/typeobject.c:1605
#3 0x080a3d68 in mro_internal (type=0x4) at Objects/typeobject.c:1636
#4 0x080a4723 in PyType_Ready (type=0x817e4a0) at Objects/typeobject.c:4057
#5 0x080a5186 in PyType_Ready (type=0x817e3c0) at Objects/typeobject.c:4005
#6 0x08088252 in _Py_ReadyTypes() at Objects/object.c:2071
#7 0x080ee3f4 in Py_InitializeEx (install_sigs=1) at Python/pythonrun.c:191
#8 0x080eee32 in Py_Initialize() at Python/pythonrun.c:382
#9 0x080598fe in PythonIntepretor::PythonIntepretor(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned short)()
#10 0x080595fe in main()
(gdb)
утра просто делает то же самое вещь. Но он падает. И FYI, я скомпилировал исходный код python для 32-битной архитектуры. С 64-битным, даже я могу успешно запустить код –
Я скомпилировал исходный код python с 32-битной архитектурой. двоичный код python, созданный как часть компиляции, также вызывает такую же ошибку. –