[pyar] Fw: Fw: Fw: Biometrica para Python

Alejandro Santos listas en alejolp.com
Vie Jul 23 19:56:06 ART 2010


On 22/07/10 13:47, Luis A. Garcia wrote:
> 
> Despues de ver un poco las dos opciones voy a intentar hacerlo con SWIG,
> ya lo instale y empece a probar con un ejemplo simple en c, como estoy
> trabajando en Windows uso SWIGWIN, todo bien hasta logre generar el
> (ejemplo_wrap.c), mi problema empieza cuando tengo que conectarlo con
> Python, perdonen mi ignorancia, (como dice Borges) pero se que esto hay
> que compilarlo para que pueda generar los (.pyd,dll) y demas que pueda
> importar desde python este modulo en C , alguien sabe como hacerlo,
> nunca he compilado un programa en C, todo lo que encontrado googleando
> es para Linux y Unix.
> 

Hace rato que no hago nada de eso y no tengo un win con un compilador a
mano, ultimamente ando con Linux. Espero poder guiarte, la idea es mas o
menos así:

1. Necesitás un compilador de C. Supongo que Dev-C++ deberia alcanzar,
sino tenés Microsoft Visual C++ Express Edition, que es gratuito, pero
mucho más pesado de instalar y hacer andar.

2. Una vez que tengas el compilador y el IDE necesitás crear un nuevo
proyecto. Tiene que ser del tipo: "Dynamic DLL" o similar, depende del
compilador e IDE se hace de diferente forma. Capaz tengas que elegir la
que dice "Threaded", no me acuerdo como es eso.

3. En tu nuevo proyecto agregás todos los ".c" que el SWIG genere.

4. En las propiedades del proyecto tenes que configurar:

a) En la parte de compilacion las rutas de headers de Python y SWIG:

   C:\Python26\include

No se cuales son los include que el SWIG necesita.

b) En la parte de linker tenes que agregar las rutas de las dependencias
de linkeo, esto esta en:

   C:\Python26\libs

c) En la parte de librerias tenes que agregar la libreria de Python:

   C:\Python26\libs\libpython26.a

5. Le das compilar y cruzás los dedos :P

6. A la DLL compilada le cambias el nombre a:

   _tumodulo.pyd

Copiás ese archivo .pyd a tu proyecto, junto con el archivo
"tumodulo.py" que te genere SWIG. Luego abris un interprete de prueba y
haces:

   import tumodulo

La mano viene por ese lado, aunque capaz me faltó algún paso.

-- 
Alejandro Santos
http://www.alejandrosantos.com.ar



More information about the pyar mailing list