On 21.07.2017 23:17, Jian wrote: > Hi Imre, > > I tried to use boost.python as you advised. Build boost.python with > > But I got a error in the import.hpp as below: > ------------------------import.hpp start > ---------------------------------------- > namespace boost > { > namespace python > { > > object BOOST_PYTHON_DECL import(str name) > { > // should be 'char const *' but older python versions don't use > 'const' yet. > char *n = python::extract<char *>(name); > * python::handle<> module(PyImport_ImportModule(n)); <---here is > where the error raised. n is "__main__"* > return python::object(module); > } > > } // namespace boost::python > } // namespace boost > ------------------------import.hpp > end---------------------------------------- > > I copied your code and just replaced 'script.py' with the name of my > own file. I found the error raised when the code importing module > "__main__". > > That's my first time to use boost.python. Could you help about this issue?
This probably means you haven't initialized Python correctly. A good starting point might be this example: https://github.com/boostorg/python/blob/develop/example/quickstart/embedding.cpp (I'm the Boost.Python maintainer. While I'd be happy to help you using Boost.Python, I think this is mostly orthogonal to your original question about how to capture output generated by you embedded Python.) Best, Stefan -- ...ich hab' noch einen Koffer in Berlin... _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org https://mail.python.org/mailman/listinfo/cplusplus-sig