lunes, noviembre 26

compilation hell!

Hoy (domingo) estuve tratando de compilar un demo de un dll que me encargaron para hacer un glueing entre dos programas. La cosa es que vi el código fuente y dije esto está listailor!, gran error!

La cosa es que primero tenía un #include , el cual no tenía la menor idea de donde sacarlo. Después de un buen rato googliando y metiendome a foros me dí cuenta de que tenía que bajar el windows SDK, que incluye el ATL (active template library), que trae muchas librerías e includes raros. La cosa es que todas las páginas me tiraban a un Windows Server 2003 Platform SDK y yo me decía... changos... donde estará la para Windows XP :@ y nunca la encontraba. Pasando mil veces por esa página derepente me puse a leerla y la burrá decía que era el reemplazo para los SDK de Windows XP y se podía usar para desarrollar en esas plataformas también... pero porqué rayos le ponen de nombre Windows 2003! serán brutos estos MS!

Bueno, luego venía la cosa de que pedía la cosa de autenticidad de windows para bajarlo. Me dió mucha lata instalar el programita ese pa verificar de que es un windows original (a pesar de que el mío lo es), así usando la picardía del chileno... puse el nombre de archivo en google y encontré el archivo en una página japonesa, con link de descarga directa xD, así que lo bajé sin tener que autenticarme como usuario legal de windows :P (hay hartas cosas más para bajar [página japochi] [Windows SDK directo])

Una vez bajados los 400 y tantos megas los quemé y a instalar... todo salió normal. Probé compilar con el codeblocks, pero no resultó a la hora de usar el dll que traía el código fuente. Seguramente no era compatible el compilador.

Luego intenté con el Visual C++ express edition, y la cosa de primera no encontraba los .h que se suponía haber instaldo con el SDK. Luego estuve mucho rato intentando hacer de que las librerías del SDK fueran las por defecto, pero no lo logré, así que lo dejé como librerías para el proyecto solamente. Ojalá me acuerde para la próxima cosa que haga de que las librerías ya están instaladas.

Cuando todo parecía estar bien, intenté compilar nuevamente, y me decía algo de shlwapi.h (wtf!), así que otra vez a googliar se ha dicho... bueno esta vez fué más rápido, la respuesta estaba también en los foros de microsoft, y la solución era reinstalar el SDK sin deshabilitar la opción de "Microsoft Web Workshop (IE) SDK". A pesar de que se suponía de que no iba a hacer nada con la web, pero había que incluir esos archivos. Menos mal de que el instalador permite agregar cosas que no se hayan instalado rápidamente sin tener que hacer toooda la instalación de nuevo.

Pensé de que ya todo estaba solucionado... pero MS me tenía más sopresas... ahora me faltaba una librería llamada atlthunk.lib (ni idea para que será), pero a pesar de estar relacionada con ATL, no venía en el windows SDK, y buscando vía google/MSDN Forums la solución era bajar el Windows DDK (driver development kit) (otros 200 y tantos megas más). Ni idea por qué estará en el DDK, ni por qué tengo que usarlo yo, si no estoy haciendo nada con drivers ni hardware en este DLL!

Acaba de bajar la ISO, asi que por el momento no logro salir de este compilation hell. Eso lo veré mañana.

Bueno, esa ha sido mi terrible vida por hoy xD

Saludos!

1 comentario:

Sebastián dijo...

Wuajajajajaja....


Más allá de todo lo que viviste, me quedo una pequeña graaan duda...

¿Qué mierda es un glueing?