Articles of boost

Potenciar Python: ¿contenedor polimórfico?

Tengo un método (o función) que devuelve una referencia a una lista de objetos polimórficos: class A { }; class B : public A { }; std::list<boost::shared_ptr >& getList(); ¿Cómo expongo una función de este tipo en boost :: python para que al iterar en la lista en python, vea los diferentes tipos de A […]

¿Cómo funciona la importación con Boost.Python desde dentro de los archivos python?

Estoy utilizando Boost.Python para incrustar un intérprete en mi ejecutable de C ++ y ejecutar algunos scripts preescritos. Lo tengo funcionando para poder llamar a funciones en el archivo de Python, pero el código de Python que quiero usar importa archivos externos y estas importaciones fallan porque “no hay un módulo llamado”. Sin embargo, si […]

Fallo de segmentación al usar boost :: numpy :: ndarray

Recibo lo que creo que es una extraña falla de seguridad cuando bash pasar boost::numpy::ndarray como un argumento: #include #include #include void say_hello(boost::numpy::ndarray& my_array) //void say_hello(int x) This works fine { std::cout<<"Hello"<<std::endl; } BOOST_PYTHON_MODULE(hello_ext) { using namespace boost::python; def("say_hello", say_hello); } Sé que el ejemplo es tonto, pero no debería tener una falla de seguridad […]

¿Necesitas ayuda para comenzar con Boost.Python?

Estoy tratando de construir mi primer ejemplo de Boost.Python. #include #include using namespace boost::python; class Hello { public: std::string greet() { std::cout << "Hello World" << std::endl; } }; BOOST_PYTHON_MODULE(hello) { class_(“Hello”) .def(“greet”, &Hello::greet); } int main() { std::cout << "Boost.Python Test" << std::endl; Hello hello; hello.greet(); return 0; } EDITAR: faltaban los encabezados de […]

¿Cómo exponer buffers de bytes sin procesar con Boost :: Python?

Tengo una biblioteca de C ++ de terceros en la que algunos métodos de clase utilizan buffers de bytes sin procesar. No estoy muy seguro de cómo tratar con Boost :: Python. El encabezado de la biblioteca C ++ es algo así como: class CSomeClass { public: int load( unsigned char *& pInBufferData, int & […]

BoostBuild: patchlevel.h no existe

Estoy tratando de comstackr un proyecto de C ++ usando bjam en Ubuntu 11.04. Sigo recibiendo el siguiente error: ../../libraries/boost_1_44_0/boost/python/detail/wrap_python.hpp:75:24: fatal error: patchlevel.h: No such file or directory Busqué en el directorio de mi proyecto y hay varios archivos llamados patchlevel.h pero no sé qué son. ¿Son parte de Boost? También me sale este error […]

Ejemplo de Boost Python Hello World que no funciona en Python

Estoy teniendo muchos problemas al usar mi código c ++ de Visual C ++ (envuelto por boost) en Python. Bien, las herramientas que estoy usando son: Visual Studio 2010, BoostPro 1_47, Windows 7 y Python 2.7 (32 bits). Tengo el siguiente código que comstack muy bien en Visual Studio 2010: #define BOOST_PYTHON_STATIC_LIB #include using namespace […]

Enviar función de Python como argumento Boost.Function

Las cosas se están complicando en mi mundo de tratar de combinar el código Python con mi C ++. Esencialmente, quiero poder asignar una función de callback para ser utilizada después de que una llamada HTTP reciba una respuesta, y quiero poder hacer esto desde C ++ o Python. En otras palabras, quiero poder llamar […]

No se puede ejecutar bjam para comstackr el tutorial de python boost

Estoy intentando seguir este tutorial sobre el ajuste de código C ++ para python para Windows. Instalé python. Descargué la última versión de boost (1_55). Primero ejecuté bootstrap.bat para comstackr bjam.exe. A continuación, configuré boost_1_55_0 \ tools \ compile \ v2 \ user-config.jam para usar el comstackdor msvc10 y agregue la ruta a la instalación […]

¿Cómo reinicializar un intérprete Python incrustado?

Estoy trabajando para incrustar Python en nuestra aplicación de prueba. El propósito es usar Python para ejecutar varios scripts de prueba para recostackr datos y hacer un informe de las pruebas. Múltiples scripts de prueba para una ejecución de prueba pueden crear variables globales y funciones que pueden usarse en el siguiente script. La aplicación […]