| Store | Cart

Re: [C++-sig] How to get output from python embedded in VC++

From: Stefan Seefeld <ste...@seefeld.name>
Sun, 23 Jul 2017 11:06:38 -0400
On 23.07.2017 03:15, Jian wrote:
>> Hi Stefan,>> I still got a assertion failed at Py_Initialize(). Below is the message.>> Program: C:\Python35\python35_d.dll> File: ..\Objects\object.c> Line: 84> Expression: (op->_ob_prev == NULL) == (op->_ob_next == NULL)

And you get this output from the Py_Initialize() call itself ?? I have
no idea how this could happen. I have very little experience with
Windows, and so am not really able to help debug this. My first guess
would be that you are linking to the wrong library. (I see
'python35_d.dll'. What happens if you link to 'python35.dll', i.e. the
non-debug version ?)

>> I also pasted mo code below. This function is invoked by a button> click function. No other codes around it.>> int runBoostPython()> {>     Py_Initialize();>     try {>         //boost::python::object main_module =>         //    boost::python::import("__main__");>         //boost::python::object main_namespace =>         //    main_module.attr("__dict__");>         boost::python::dict main_namespace;>>         boost::python::object ignored = exec_file("test1.py",>             main_namespace, main_namespace);>>         std::wstring output => boost::python::extract<std::wstring>(main_namespace["return_value"]);

I'm not sure it's possible to use `extract` with std::wstring. At least
I have never used it with that. (What encoding is your string using ?
How should it be converted to a wide string ?)


>>     }>     catch (boost::python::error_already_set) {>         PyErr_Print();>     }>     return 0;> }>> Please help check it. >> Thanks & Best Regards,>> John.

Regards,
        Stefan

-- 

      ...ich hab' noch einen Koffer in Berlin...

_______________________________________________
Cplusplus-sig mailing list
Cplu...@python.org
https://mail.python.org/mailman/listinfo/cplusplus-sig

Recent Messages in this Thread
Jian Jul 20, 2017 03:25 am
Stefan Seefeld Jul 20, 2017 02:34 pm
Jian Jul 21, 2017 02:03 pm
Stefan Seefeld Jul 21, 2017 02:15 pm
Horváth Imre István Jul 20, 2017 07:22 pm
Jian Jul 21, 2017 02:28 pm
Horváth Imre István Jul 21, 2017 03:13 pm
Jian Jul 22, 2017 03:17 am
Stefan Seefeld Jul 22, 2017 05:01 pm
Jian Jul 23, 2017 07:15 am
Stefan Seefeld Jul 23, 2017 03:06 pm
Jian Aug 01, 2017 02:33 am
Messages in this thread