Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Pogacha en 29 de Enero de 2008, 06:36:11 PM

Título: Theora?
Publicado por: Pogacha en 29 de Enero de 2008, 06:36:11 PM
Sabe alguien como puedo hacer para compilar Theora en Win32 con MSC?

En teoria esta hecho para compilarse sobre GCC unicamente ... que contrariedad!

Segun el codigo dice que tengo que descargar las librerias compiladas de la parte en ensamblador. Pero no las encontré.

Lo mismo seria si pudiera bajar las librerias de theora completamente compilado. Pero tampoco tuve suerte.

Desde ya muchas gracias!
Título: Theora?
Publicado por: Pogacha en 29 de Enero de 2008, 08:11:10 PM
Logre dar con una version compilada de este modo:

http://www.filewatcher.com/_/?q=libtheora.a

Ahora estoy tratando de linkearlo bajo mvc6
Título: Theora?
Publicado por: Astat en 29 de Enero de 2008, 09:43:06 PM
Supongo que te has bajado la libreria desde la web de Theora. Te recomiendo lo hagas mejor desde subversion:

svn co http://svn.xiph.org/trunk/theora

Ademas de tener la ultima version, tendras la solucion lista para compilar con Visual Studio.
Título: Theora?
Publicado por: Pogacha en 29 de Enero de 2008, 10:02:35 PM
Es la misma o similar a la que tengo, el problema es que no puede compilar las optimizaciones mmx que estan puestas en formato inline assembly para gcc.
Título: Theora?
Publicado por: Pogacha en 29 de Enero de 2008, 11:52:47 PM
Logre hacerlo andar pero la solucion es medio rebuscada así que la pongo aquí.

Me baje las librerias precompiladas del VCL.
http://download.videolan.org/pub/testing/win32/
Ahí estan muchas librerias precompiladas para GCC.

Luego renombre libtheora.a a libtheora.lib y la agregue al proyecto, pero con esto no fue suficiente pues me fallaba el linkeo:
"unresolved external symbol ___divdi3"

Para resolverlo me busque la libgcc.a de por ahí (probe varias) haciendo lo mismo, renombrandola a .lib y agregandola al proyecto.

Luego de eso andubo perfecto :)

Saludos!
Título: Theora?
Publicado por: Pogacha en 30 de Enero de 2008, 05:27:01 AM
Hasta que lo probe en modo release donde se me colgaba mal, revisé el ensamblador generado y era el mismo, así que el problema me pasaba.

Al final compile las librerias como me dijo Astat, revisando el codigo habia codigo disponible para VS y con un par de retoques estubo andando.

Ahora si :)

Gracias!
Título: Theora?
Publicado por: davidgf en 31 de Enero de 2008, 01:47:23 PM
Siempre puedes usar gywin i el gcc para windows no?
Título: Theora?
Publicado por: Tei en 31 de Enero de 2008, 02:14:25 PM
Cita de: "davidgf"Siempre puedes usar gywin i el gcc para windows no?

o algun tipo de conversor que permita usar una libreria de gcc con vs, si es que exite.
Título: Theora?
Publicado por: Pogacha en 31 de Enero de 2008, 02:17:09 PM
Primero tenes que ver si tenes windows o no ... er ... No entiendo la pregunta.
gcc para windows, el unico que yo conozco es el mingw.
Sobre otras cosas raras otro sabra responder.
Saludos.
Título: Theora?
Publicado por: Tei en 31 de Enero de 2008, 05:38:16 PM
Vamos a aprovechar la oportunidad para hablar de gcc en windows:

mingw es gcc con headers de windows.

ademas como la terminal de windows tiene limitaciones exageradas, se puede utilizar en un emulador de terminal con bash donde se simula un pequeño unix (MSYS minimal system) para que cosas como construir un comando de compilacion largo no peten

http://en.wikipedia.org/wiki/GNU_Compiler_Collection
http://en.wikipedia.org/wiki/MinGW

Es posible apoyarse en MinGW para hacer crosscompiling, y crear los ejecutables de windows sin tener que tocar uno. Y ya que te pones, en la misma jugada haces binarios para x86 y x86_64 ...
Título: Theora?
Publicado por: davidgf en 31 de Enero de 2008, 08:06:32 PM
Bueno yo no he leído mucho el post pero me refería a que si tienes un codigo que no hay manera que compile en un Visual Studio pues usas el gcc versión windows y lo compilas y obtienes un ejecutable (o librería) pa guindous, no?

Saludos!
Título: Theora?
Publicado por: Pogacha en 31 de Enero de 2008, 08:25:04 PM
En teoria si.
Pero no se las limitaciones. Creo que solo para librearias en C.

Saludos
Título: Theora?
Publicado por: TheAzazel en 02 de Febrero de 2008, 06:16:15 PM
Solo si es C, en cuanto entra en juego C++...olvidaros de usar una libreria compilada con GNU C++ en VisualStudio y viceversa.

Saludos
Título: Theora?
Publicado por: davidgf en 03 de Febrero de 2008, 02:56:26 PM
A si?? i por qué? No tenía ni idea de esa "cosilla". Tampoco lo he intentado que conste. Ahora me alegro de no haber usado finalmente theora en mi juego porque me sale una complicación así i me cago en tó. Aunque es excelente formato.

David
Título: Theora?
Publicado por: Pogacha en 03 de Febrero de 2008, 03:20:06 PM
Theora luego de compilado me anduvo perfecto, no es para tanto:
Bajas los fuentes, compilas arreglando un par de paths incorrectos e ignorando el cartel que dice "De verdad queres compilar sin asm inline?", tenes que agregar una definicion a la cabecera para sacar esto.
Luego agregas el lib a tu proyecto y ya esta!
No es para tanto.