Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemas usando swig para utilizar clases de C++ en python

Iniciado por CoLSoN2, 16 de Febrero de 2003, 10:30:53 PM

« anterior - próximo »

CoLSoN2

                                Según el manual:
Citar
The preferred approach to building an extension module is to compile it into a shared object file or DLL. To do this, you need to compile your program using comands like this (shown for Linux):  

$ swig -python example.i
$ gcc -c example.c
$ gcc -c example_wrap.c -I/usr/local/include/python2.0
$ gcc -shared example.o example_wrap.o -o _example.so
yo no sé nada de linux, pero los dos primeros son compilar el archivo, supongo. El tercero que es? es que no consigo hacerlo funcionar y creo que esta es la clave :P (por cierto, el .o se refiere a .obj ?)

--thx in advance                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Juan Mellado



$ swig -python example.i


Precompila el fichero example.i y genera example.c



$ gcc -c example.c


Compila example.c y genera example.o



$ gcc -c example_wrap.c -I/usr/local/include/python2.0


Compila example_wrap.c y genera example_wrap.o (la directiva -I indica los directorios en los que se encuentran los .h para los includes)



$ gcc -shared example.o example_wrap.o -o _example.so


Linka example.o y example_wrap.o y genera example.so (la directiva -shared y la extensión .so, shared object, indican que genere una librería dinámica, como las DLLs de Windows pero para Unix)

Y sí, los .o son los .obj.

Espero te sirva.
Saludos

CoLSoN2

                               
CitarLinka example.o y example_wrap.o y genera example.so (la directiva -shared y la extensión .so, shared object, indican que genere una librería dinámica, como las DLLs de Windows pero para Unix)
hum.. entonces necesita un shared object (.so) de esos, o con una dll o algo servirá? (hablo de Windows) :                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Juan Mellado

                                :?:

No es que necesite una .so sino que genera una .so.

El equivalente en Windows es generar una DLL.                                

CoLSoN2

                                sí, funciona con dll's, ya funciona, aleluya ! :D

gracias Juan

EDIT: con lo de "necesita" me refería al script, para que funcionara :)                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.