[Kde-devel-es] Qtimer y librerias

hacklet hack_let at yahoo.es
Fri May 27 20:35:43 CEST 2005


Hola a todos,

tengo 2 pequeños problemas.

Uno es que quiero inplementar una funcion de Qt la cual cada X 
milisegundos llame a una funcion mia. Para realizar esto solo se me 
ocurren 2 cosas:

1.- Usar alguna funcion tipo Qtimer que llame a mi funcion cada X 
tiempo. El problema que veo en hacer esto es que creo que el Qtimer solo 
se activa una vez y por tanto solo llama a la funcion una vez, o hay 
alguna otra forma de hacerlo??

2.- La segunda opcion que se me ocurre es crear un thread y llamar a mi 
funcion la cual genera un bucle sobre si misma parando X tiempo cada vez.

No se cual es la mejor forma de hacerlo. Que opinais?


El otro problema es a la hora de enlazar una libreria statica hecha por 
mi. Resulta que tengo hecho un programa y quiero enlazar mi libreria 
para usar mis funciones, pues bien, explico como lo hago:

en el directorio $proyecto/lib tengo mi libreria, la cual se llama 
libraptor.a, tambien tengo un archivo de cabecera, libraptor.h el cual 
solo pone esto:

/****************************/

typedef short           I16;
typedef unsigned short  U16;
typedef long            I32;
typedef unsigned long   U32;

/*FUNCIONES*/

I16  Register_Card (U16 CardType, U16 card_num);
I16  DI_ReadPort (U16 CardNumber, U16 Port, U32 *Value);
I16  DO_WritePort (U16 CardNumber, U16 Port, U32 Value);
I16  DIO_PortConfig (U16 CardNumber, U16 Port, U16 Direction);
I16  CTR_Setup (U16 CardNumber, U16 Ctr, U16 Mode, U32 Count, U16 BinBcd);
I16  CTR_Clear (U16 CardNumber, U16 Ctr, U16 State);
I16  CTR_Read (U16 CardNumber, U16 Ctr, U32 *Value);
/***************************/

bien, en mi programa pongo la cabecera: #include <libraptor.h>
y incluyo en las propiedades del proyecto una biblioteca -Iraptor y el 
directorio -L$proyecto/lib
pues bien, cuando le doy a compilar, me da el siguiente error:


pci7248.o(.text+0x4e): En la función 
`pci7248::pci7248[not-in-charge](QWidget*, char const*)':
: undefined reference to `Register_Card(unsigned short, unsigned short)'
pci7248.o(.text+0xce): En la función 
`pci7248::pci7248[in-charge](QWidget*, char const*)':
: undefined reference to `Register_Card(unsigned short, unsigned short)'
collect2: ld devolvió el estado de salida 1
make[1]: *** [../bin/qt_program] Error 1

Alguien sabe que hago mal?
yo lo unico que quiero es enlazar una libreria, en este caso estatica 
pero tambien quiero saber como se enlaza una libreria dinamica en mi 
programa.

Gracias de antemano
Pablo





More information about the Kde-devel-es mailing list