[C con Clase] compilación de una libreria para arquitectura ARMV4
RFOG
rfog en cableworld.es
Sab Jul 21 11:24:18 CEST 2007
En Fri, 20 Jul 2007 23:29:43 +0200, ERVA <abraxas_dragon en yahoo.com.mx>
escribió:
> Encontré una macro que se hace llamar _WIN32_WCE, entonces lo que hice
> fue en cada parte del código donde hubiera una compilación condicional
> en la que se necesitara comprobar esta arquitectura, la fuí agregando.
> Con esto me deshice de los dos últimos errores. Ahora me quedá resolver
> los demás errores y creo que esto se debe a un "warning" que no lo
> públique previamente. Se tratá del siguiente "warning"
>
> ---------------------------------
> warning C4013: 'gmtime' undefined; assuming extern returning int
> ---------------------------------
>
> De donde proviene ese "warning es del siguiente código:
>
> ----------------------------------
> ...
> struct tm *newtime;
> #ifdef _WIN32_WCE
> SYSTEMTIME ltime;
> #else
> time_t ltime;
> #endif
> int actual, next, i;
> unsigned char actual_s[3],next_s[3];
> char temp[4];
> #ifdef _WIN32_WCE
> GetSystemTime( <ime );
> #else
> time( <ime );
> #endif
> newtime = gmtime( <ime ); actual =
> newtime->tm_year;
> ...
> ----------------------------------------------------
>
> Por lo que entiendo es que esa función o no encuentra dentro del
> contexto de WCE, por lo que se tiene que usar alguna que sea compatible.
> Y se tendría que desarrollar una compilación condicional para cada caso.
> Espero estár en lo correcto, sino por favor corriganme y si se puede
> hasta unos "zapes" ("zape" en mi tierra se entiende a unos golpes en con
> la palma de la mano en la cabeza) para que entienda.
>
No y no. Eso te reventará por algún lado. No mires las cabeceras del
sistema, tienes que encontrar la definición que te deje de dar dicho
warning, o cuando ejecutes verás cómo te salta todo por los aires.
Recuerdo que yo tuve el mismo problema, y lo solucioné por completo
haciendo lo que te comento en el otro mensaje. Prueba a dejar todo como
estaba y a añadir la línea que te he comentado en las opciones del
proyecto.
> De antemano Gracias...
>
> El pasado 2007-07-20 14:39:09, ERVA escribió:
> E> Hola:
> E> En estos dias estoy tratando de compilar unas librerias en Microsoft
> Visual Studio (Visual C++) para una arquitectura ARMV4 que corresponde
> con un sistema Windows Pocket PC, pero no he tenido mucho éxito. La
> salida me arrojá alguno errores que los comparto con ustedes:
> E> /**********************************************************/
> E> ..\funccomm.c(667) : error C2037: left of 'tm_year' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(681) : error C2037: left of 'tm_mon' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(682) : error C2037: left of 'tm_mday' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(683) : error C2037: left of 'tm_hour' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(684) : error C2037: left of 'tm_min' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(685) : error C2037: left of 'tm_sec' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(699) : error C2037: left of 'tm_mon' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(700) : error C2037: left of 'tm_mday' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(701) : error C2037: left of 'tm_hour' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(702) : error C2037: left of 'tm_min' specifies
> undefined struct/union 'tm'
> E> ..\funccomm.c(703) : error C2037: left of 'tm_sec' specifies
> undefined struct/union 'tm'
> E> ..\pkcs5.c(21) : fatal error C1083: Cannot open include file:
> 'sys\timeb.h': No such file or directory
> E> ...\r_random.c(49) : fatal error C1083: Cannot open include file:
> 'sys\timeb.h': No such file or directory
> E>
> /***********************************************************************/
> E> Tomando en cuenta los dos últimos mensajes de error, encontré en
> otras listas de correo
> (http://sources.redhat.com/ml/pthreads-win32/2003/msg00101.html y
> http://cygwin.com/ml/pthreads-win32/2004/msg00070.html) donde tratan de
> compilar una librería para WinCE en eVC++ (muy similar a lo que estoy
> haciendo, pero para otra librería). Sugieren agregar una macro (_ARM_ o
> WINCE, dependiendo) en ciertas partes del código.
> E> Lo que a mí me confunde es cuál es el criterio que se tiene que
> seguir para hacer esas modificaciones.
> E> Ahora bien, dandome una vuelta por las macros definidas en mi Visual
> C++ para WinCE encontré dos macros definidas: _ARM_ y ARM.
> E> Espero me puedan orientar, por favor.
> E> De antemano gracias.
> E> Reciban un afectuoso saludo.
> E> _______________________________________________
> E> Lista de correo Cconclase Cconclase en listas.conclase.net
> E>
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> E> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
--
Visita mi blog principal: http://rfog.blogsome.com
Y este sobre programación: http://geeks.ms/blogs/rfog
Libros, ciencia ficción y programación
========================================
No tenemos más derecho a consumir felicidad sin producirla, que a consumir
riqueza sin producirla.
-- George Bernard Shaw. (1856-1950) Dramaturgo irlandés.
Más información sobre la lista de distribución Cconclase