Articles of boost

¿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 […]

crear boost-python espacio de nombres nesteds

Usando boost python necesito crear un espacio de nombres nested. Supongamos que tengo la siguiente estructura de clase cpp: namespace a { class A{…} namespace b { class B{…} } } Solución obvia no funciona: BOOST_PYTHON_MODULE( a ) { boost::python::class_(“A”) … ; BOOST_PYTHON_MODULE(b){ boost::python::class_(“B”) … ; } } Provoca un error en tiempo de comstackción: […]

Envolviendo matrices en Boost Python

Tengo una serie de estructuras C ++ que estoy tratando de envolver usando boost python. Me he encontrado con dificultades cuando estas estructuras contienen matrices. Estoy tratando de hacer esto con una sobrecarga mínima y, lamentablemente, no puedo hacer ninguna modificación a las estructuras. Así, por ejemplo, digamos que tengo struct Foo { int vals[3]; […]

Linker problema con la instalación de la herramienta gráfica de MacPorts

He instalado Graph-Tool a través de Mac Ports. Hace unos días corrí $ sudo port selfupdate $ sudo port upgrade outdated Graph-tool se compiló de nuevo (lo que tomó alrededor de 30 horas (!)) Ahora, cuando quiero incluir graph-tool en python, aparece el siguiente error: Python 2.7.6 (default, Nov 22 2013, 13:39:24) [GCC 4.2.1 Compatible […]

Boost.python convierte automáticamente el parámetro

Estoy usando boost.python para envolver una clase ‘A’ de C ++ que toma una cadena como constructor. Luego tengo una función ‘fun (A & arg)’ que toma una referencia a una ‘A’ como parámetro. Me gustaría tener una envoltura de python para “diversión” que es tal que si paso una variable que es una referencia […]

Boost Python 1.48 falla al exportar enumeración de 32 bits

¿Las versiones más recientes de Boost Python son compatibles con la exportación de enumeraciones de 32 bits completas desde C ++? Estoy usando 1.48 y puedo exportar hasta 30 bits, pero falla cada vez que se debe a “Ubicación de lectura de infracción de acceso 0x00000001” cuando bash exportar un número de 32 bits. Al […]

Boost.Python Converter para punteros no funciona

TLDR: ¿Es posible pasar tipos de punteros de C ++ a través de convertidores python? Aquí declaré mi MyStruct y mi tipo de puntero para PMYSTRUCT, la plantilla de convertidor PointerConverter y ese módulo de Python: #include namespace py = boost::python; template void from_python_converter() { py::converter::registry::push_back(&Converter::convertable, &Converter::construct, py::type_id()); } template class PointerConverter { public: static […]

boost :: python pass reference of python :: list

Realmente me gustaría saber si existe la posibilidad de pasar una referencia de una lista de python a un archivo boost :: python c ++ dll. Lo que quiero lograr es que tengo una lista en python que se puede leer en c ++ en cualquier momento. Digamos que tendría una variable en C ++ […]

¿Qué significa `Error fatal de Python: PyThreadState_Get: no significa ningún hilo actual`?

Estoy pasando un comunicador mpi de python a C. Elegí usar el comunicador mpi de boost ya que mpi4py no parece tener un buen soporte para C. Echale un vistazo: try: from boost.mpi import world except ImportError: from mpi import world err = run_with_mpi(infile, world, stdout, stderr, exc) En los sistemas donde está instalado boost.mpi, […]

Enlace de una biblioteca estática en Boost Python (biblioteca compartida) – Error de importación

Estoy creando un módulo Boost Python (archivo de biblioteca compartida .so) que depende de otra biblioteca externa (STXXL) Aunque puedo comstackr e importar los módulos Boost Python de ejemplo, tengo problemas cuando STXXL se lanza a la mezcla. Específicamente cuando se ejecuta import fast_parts en python Obtengo ImportError: ./fast_parts.so: undefined symbol: _ZN5stxxl10ran32StateE Esto me dice […]