Título: Problemas con el linker Publicado por: El_Java en 2 Julio 2012, 17:25 pm Hola a todos.
He estado instalando las librerias Ogre3D y todas las inmensas dependencias que tiene esta librería gráfica, al final del proceso traté de compilar un código de prueba y no he podido. El problema está en el linker ya que me da diversos errores del tipo "Undefined reference to...". No es la primera vez que tengo problemas con el linker, así que lo que hice fue añadir la ruta de las librerias al linker para que las encontrase, lo hice con las de Ogre (que había instalado directamente desde el codigo fuente). Pero luego también tuve que hacerlo con la libreria OIS (la cual había instalado mediante los repositorios de Ubuntu, ya sabeis: sudo apt-get install ___), y eso ya me empezó a mosquear. Ahora me dice que el linker tampoco encuentra las librerias de X11 y ya empiezo a pensar que el problema puede estar en el linker, porque no son normales tantos problemas.... ¿Alguna idea? Un saludo Título: Re: Problemas con el linker Publicado por: Foxy Rider en 3 Julio 2012, 04:55 am ¿Qué te sale en las undefined reference? por otro lado MUY MAL eso de instalar manualmente ... ya que esa instalación vá a dejar residuos que pueden corromper lo que el gestor de paquetes o futuras instalaciones manuales puedan agregar.
Si todavía tenés el Makefile desde el que corriste el make install, corré make uninstall (o deinstall, siempre se me transpapela en la cabeza) y forzá re-instalación de los paquetes de Ogre y OIS (los -dev también) vía gestor de paquetes. Compilá este código (que es un código MÍNIMO de Ogre) : http://foro.elhacker.net/programacion_cc/ogre3d_en_dev_c-t243920.0.html;msg1173366#msg1173366 ←Qué asco ese código, se hace el agnóstico de la plataforma cuando no lo es !! x') Pero usando g++ directamente Código
Si compila, la instalación y el linker está bien ... estás configurando mal el proyecto Saludos. Título: Re: Problemas con el linker Publicado por: El_Java en 3 Julio 2012, 17:54 pm Gracias por la ayuda, he borrado y reinstalado las librerias de la manera que tu me has dicho y he conseguido que me compile varios codigos de ese post sin problemas usando:
Código Pero luego he intentado ejecutar el archivo para ver como funciona y me da un error Ogre3d, te lo copio aqui: Código: Loading library RenderSystem_Direct3D9 ¿Cuál puede ser el problema? He cambiado para que cargase OpenGl pero el fallo ha sido similar... Título: Re: Problemas con el linker Publicado por: Foxy Rider en 3 Julio 2012, 18:46 pm Todo en orden entonces, ese código es un horror, por que no es portable para nada (es esperable que falle, por que está programado para preferir Direct3D en una plataforma donde no existe) ... en esos oscuros tiempos programaba sólo sobre Windows (principalmente por el Cg studio y otras tools que ahora reemplazé) , y como deducirás, sobre Visual Studio.
Ahora, si tuviese que reformularte ese post y código para que testees Ogre, lo haría así: Como uso Debian y no quiero poner el path completo a RenderSystem_GL, simplemente le hago un enlace simbólico en el directorio actual, en mi caso: Código
Test.cxx Código
Código Con eso testeás que la app. se compile y ejecute, aunque en tu caso ya compiló, significa que está todo ok mientras tengas la aceleración funcionando. Ahora, si me pedís la respuesta "correcta", no inicializaría así a Ogre, sino más bien usaría ayuda de cmake para armar un módulo que lidie con tema encabezados y librerías de forma portable a través de las plataformas, si bien puede hacerse con un IDE portable como Code::Blocks, los paths no siempre son los mismos (cmake lidia con eso) ... sobre eso algún script (guarda con el sentido en el que lo uso !!!) de inicialización que lidie con todas estas cochinadas de los plugins, rendersystems y demás temas de inicialización de forma elegante... Saludos. |