Py ++ genera la sintaxis que utiliza junto con boost :: python para generar puntos de entrada de python en su aplicación. Asumiendo que todo va bien con Py ++, necesita descargar el framework de Boost, y agregar el directorio boost y el boost :: python lib a su proyecto y luego compilar con el cpp generado por Py ++.
Puede usar cualquier sistema de compilación que desee para su proyecto, pero boost está diseñado con bjam. Debe elegir si desea una lib estática o un impulso dinámico python lib luego siga las instrucciones para generar boost here.
Si está en Windows, debe cambiar la extensión de su biblioteca creada de .dll a.pyd. Y sí, tiene que ser un proyecto de biblioteca, esto no funciona con ejecutables.
Luego, coloque el pyd donde el python en su máquina puede encontrarlo y entre en python y ejecute import [Your-library-name] y esperemos que todo funcione.
Una nota final, el nombre dado en generated.cpp en esta macro:
BOOST_PYTHON_MODULE(-name-)
tiene que ser el nombre exacto de su proyecto, de lo contrario pitón se quejará.
Acabo de pasar por todo esto hace menos de un mes, así que sé sobre la confusión.
Una cosa que hice para hacer que mi extensión de python fuera muy fácil de usar mientras construía la biblioteca y las pruebas, era construir boost :: python y python en mi entorno de compilación. De esta forma, el pyd termina exactamente donde yo lo quiero y los usuarios no necesitan instalar Python para ejecutarlo con mi extensión. Sin embargo, eso puede ser excesivo para lo que estás haciendo.
Edit: Si desea que su extensión se instale y compile fácilmente en una máquina, consulte python's setuptools. Con solo unas simples líneas, puede tener python compilar e instalar su paquete por usted. Un inconveniente, sin embargo, es que no es compatible con IDE para aquellos de nosotros que nos gusta desarrollar en Visual Studio.
Ha visto este anuncio del autor de Py ++? http://mail.python.org/pipermail/cplusplus-sig/2009-January/014198.html – torial
Lo tengo, pero aún termina antes de responder a mi pregunta: "El último paso: se genera el código". Creo que el último paso debería dejar al usuario con código compilado e importable, no solo generado. – gotgenes