Articles of boost

Dependencias de módulos cruzados en Boost Python

Supongamos que tengo dos módulos de impulso de python que se definen de la siguiente manera. Módulo A: class SomeClass { public: SomeClass() {} ~SomeClass() {} }; BOOST_PYTHON_MODULE(A) { class_(“SomeClass”); } Y módulo B: class AnotherClass { public: AnotherClass() {} ~AnotherClass() {} void func(SomeClass& sp) {} }; BOOST_PYTHON_MODULE(B) { class_(“AnotherClass”) .def(“func”, &AnotherClass::func) ; } El […]

Edificio / incluyendo Boost.Python en VS2013

¿Puede alguien decirme si estoy haciendo algo mal? Estoy en Windows 7 con Visual Studio 2013 y me gustaría poder configurar un proyecto Boost.Python simple. No sé si he hecho algo incorrecto al boost el edificio o al incluirlo en mi proyecto. Error Cuando bash #include cualquier módulo de python boost, por ejemplo, #include el […]

selección de boost-python entre métodos sobrecargados

Supongamos que existe alguna clase Foo con dos métodos sobrecargados: class Foo { … void m1(A& a); void m1(B& b); Necesito exponer uno de estos métodos sobre boost-python: boost::python::class_(“Foo”) .def(“m1”, &Foo::m1) ¿Cómo debo especificar que la firma de m1(A&a) debe usar en lugar de m1(B&b)

Exponiendo un puntero en Boost.Python

Tengo esta clase de C ++ muy simple: class Tree { public: Node *head; }; BOOST_PYTHON_MODULE(myModule) { class_(“Tree”) .def_readwrite(“head”,&Tree::head) ; } Quiero acceder a la variable head desde Python, pero el mensaje que veo es: No to_python (by-value) converter found for C++ type: Node* Por lo que entiendo, esto sucede porque Python se está volviendo […]

La exportación de la clase Boost Python no se comstack con un error de enlace en Visual Studio 2013

Compilé Boost y lo utilicé para exportar la siguiente función a una DLL: #include using namespace boost::python; std::string greet() { return “hello, dude !!”; } BOOST_PYTHON_MODULE(hello) { def(“greet”, greet); } Esto se cargó correctamente en Python después de que cambié el nombre del archivo hello.dll a hello.pyd. Ahora estoy intentando esto: #include using namespace boost::python; […]

Exponiendo las funciones de C ++, que devuelven el puntero usando Boost.Python

Quiero exponer la siguiente función de C ++ a Python usando Boost.Python: int* test1() { return new int(42); } // Now exposing the function with Boost.Python BOOST_PYTHON_MODULE(libtest1) { using namespace boost::python; def(“test1”, test1); } Cuando bash comstackr esta biblioteca, el error se produce debido a (es mi suposición) Boost.Python no sabe cómo convertir int * […]

Exponer una instancia de clase de C ++ a un intérprete incorporado de python

Estoy buscando una forma sencilla de exponer una instancia de clase de C ++ a un intérprete incorporado de python. Tengo una biblioteca de C ++. Esta biblioteca está envuelta (usando un gulp por el momento) y puedo usarla desde el intérprete de python Tengo un progtwig principal de C ++ que crea una clase […]

Boost :: Python: se puede convertir automáticamente desde dict -> std :: map?

Tengo una clase de C ++, con una función miembro que puede tomar un número pequeño de parámetros. Vamos a nombrar esos parámetros, af. Todos los parámetros tienen valores por defecto. Como parte del proyecto de python en el que estoy trabajando, quiero exponer esta clase a python. Actualmente, la función miembro se parece a […]

boost :: python: lista de Python para std :: vector

Finalmente, puedo usar std :: vector en python usando el operador []. El truco es simplemente proporcionar un contenedor en la envoltura de C ++ boost que maneje el vector interno: #include #include class world { std::vector myvec; void add(double n) { this->myvec.push_back(n); } std::vector show() { return this->myvec; } }; BOOST_PYTHON_MODULE(hello) { class_<std::vector >(“double_vector”) […]

Vinculación contra Boost python 3.6. no se puede encontrar boost_python en lugar de boost_python3

Tengo problemas para enlazar contra el impulso de python. Estoy usando Visual Studio 2017 y compilé el paquete boost 1_64 con la siguiente línea de comando: b2 -a toolset=msvc-14.1 –build_type=complete stage variant=debugthreading=multi link=shared runtime-link=shared define=_ITERATOR_DEBUG_LEVEL=0 address-model=64 con este usuario-config.jam: using python : 3.6 # Version : C:\\Python36\\python.exe # Python Path : C:\\Python36\\include # include path […]