He estado probando a compilar un programa sencillo que utilizase ya alguna función de OpenGL-ES. He ido siguiendo las indicaciones de la página de ZeusCMD, configurando las rutas a los ficheros de cabecera y de librerías.
Se puede hacer de dos formas: Una, es copiarlos a los directorios propios donde está instalado Visual Studio para que los encuentre al construir el programa. El inconveniente es que "ensucia" la instalación del programa.
La otra, por la que he optado, es configurar el proyecto para que busque cabeceras y librerías en los directorios adicionales indicados. Esta forma es más limpia que la anterior, pero más farragosa ya que para cada proyecto hay que volver a configurar las rutas.
Para hacerlo hay que ir al menú 'Tools' -> 'Options' -> 'Projects and Solutions' -> 'VC++ Directories'. Después, seleccionar en 'Platform PocketPC 2003 (ARMV4)' y 'Show directories for' 'Include files' y 'Library files'. Ahí se indicarán las rutas a los directorios de la Vincent Mobile 3D Library bin\ARM\Debug\ y include\.
Al compilar el programa salen unos errores en los que indica que no puede encontrar la función WinMainCRT. Después de buscar por Internet, parece que se debe a que en una aplicación windows la función main() del C 'de toda la vida' se llama así. Para cambiarla al valor habitual o a cualquier otro hay que ir a 'Project' -> 'Properties' -> 'Linker' -> 'Advanced' -> 'Entry point'. Después de eso ya se puede compilar el programa principal que hayamos hecho, que a continuación se enlazará con la librería.
El siguiente problema surge precisamente en ese paso. Al construir ('Build') el programa, después de compilar el fichero principal se ejecuta el linker, y aparecen cuatro líneas con errores que empiezan como la siguiente:
ug.lib(ug_win32.obj) : error LNK2019: unresolved external symbol
En 'Project' -> 'Properties' -> 'Linker' -> 'General' hay una opción para aumentar la cantidad de información que proporciona el linker mientras se ejecuta, y al observar la salida se ve que encuentra correctamente el fichero de librería ug.lib. Pruebo a cambiar las rutas para que tome otras librerías alternativas del mismo nombre, pero el resultado es el mismo.
¿Será que estas librerías están pensadas para ser usadas con eVC y el Visual Studio no las maneja bien?

No hay comentarios.:
Publicar un comentario