Estoy haciendo pruebas con SDL, y cuando utilizo la librería SDL_gfx (para dibujo de primitivas, textos, y efectos de rotación y escalado de surfaces) en C++, me da este error al incluir la librería SDL_rotozoom (forma parte de SDL_gfx):
c:archivos de programamicrosoft visual studiovc98includemath.h(514) : error C2894: templates cannot be declared to have 'C' linkage
Esto sólo me ocurre en proyectos de C++, no en proyectos de C... alguien me puede ayudar?
que extensión tiene tu fichero? C ó CPP?
Mi programa CPP, aunque la librería SDL_gfx es para C, no para C++, aunque debería funcionar, ¿no? AL menos SDL si que funciona en C++.
a partir de la línea 512 de la librería math.h pone:
#if !defined(_M_M68K)
template < class _Ty > inline
...
.
yo no uso SDL, pero puede ser que al incluir esa libreria de efectos te cambie la definición de la constante _M_M68K, que no tengo ni idea de que puede ser :-? , a ver si alguien sabe algo más sobre estas cuestiones...
a veces yo he tenido problemas con algún SDK, que modificaba el estado de alguna constante y se producian errores de dobles definiciones. Lo arreglé cambiando el orden de los #include , aunque esto puede no ser tu caso
un saludo
[ Este Mensaje fue editado por: fiero el 2002-06-23 20:42 ]
El SDL_rotozoom funciona bien en C++ porque yo lo estoy usando.
Que yo recuerde la libreria SDL_rotozoom se dejo de hacer porque se integro en el SDL_gfx, a ver si tu problema viene de intenter usar el rotozoom ya teniendolo con el gfx.
hmmm... si, yo uso la versión que viene con el SDL_gfx, pero esa librería tiene distintos includes para cada tipo de funciones, no? Vamos, que para usar las rotaciones y escalados de gráficos hay que incluir SDL_rotozoom.h.