Hola a todos... llevo toda la semana horas y horas buzeando por internet...
Estoy compilando el motor en Linux con GCC y compila todo perfectamente, pero... al "linkar" obtengo "unresolved external" por todas partes... estoy desesperado de preguntar por todas partes y buscar por google, es imposible que no se puedan tener en un proyecto librerias staticas cruzadas etc.
Building target: kk
Invoking: GCC C++ Linker
g++ -L"/home/prompt/workspace/NSSEngine/trunk/Code/_Libs/lua-5.1.1/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/AI/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/Math/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/Core/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/Effects/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/Game/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/Network/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/Objects/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/Scene/Debug Linux" -L"/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux" -o"kk" ./src/kk.o -lGL -lGLU -lglut -lGLEW -lLUA5 -lMath -lUI -lScript -lAI -lScene -lObjects -lNetwork -lGame -lEffects -lCore -lAI
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/libUI.a(Camera.o): In function `Camera::updateViewMatrix()':
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/../Cameras/Camera.cpp:734: undefined reference to `Quaternion::toMatrix4() const'
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/libUI.a(Camera.o): In function `Camera::lookAt(Vector3 const&, Vector3 const&, Vector3 const&)':
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/../Cameras/Camera.cpp:127: undefined reference to `Quaternion::fromMatrix(Matrix4 const&)'
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/libUI.a(Camera.o): In function `Camera::setOrientation(Quaternion const&)':
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/../Cameras/Camera.cpp:488: undefined reference to `Quaternion::toMatrix4() const'
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/libUI.a(Camera.o): In function `Math::closeEnough(float, float)':
/home/prompt/workspace/NSSEngine/trunk/Code/Math/mathlib.h:97: undefined reference to `Math::EPSILON'
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/libUI.a(Camera.o): In function `Math::degreesToRadians(float)':
/home/prompt/workspace/NSSEngine/trunk/Code/Math/mathlib.h:102: undefined reference to `Math::PI'
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/libUI.a(Camera.o): In function `Math::radiansToDegrees(float)':
/home/prompt/workspace/NSSEngine/trunk/Code/Math/mathlib.h:150: undefined reference to `Math::PI'
/home/prompt/workspace/NSSEngine/trunk/Code/UI/Debug Linux/libUI.a(Camera.o): In function `Quaternion::fromHeadPitchRoll(float, float, float)':
/home/prompt/workspace/NSSEngine/trunk/Code/Math/mathlib.h:1673: undefined reference to `Matrix3::fromHeadPitchRoll(float, float, float)'
/home/prompt/workspace/NSSEngine/trunk/Code/Math/mathlib.h:1674: undefined reference to `Quaternion::fromMatrix(Matrix3 const&)'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/libScript.a(ScriptTable.o): In function `ScriptTable::addParams(lua_State*)':
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:947: undefined reference to `lua_gettop'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:953: undefined reference to `lua_type'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:963: undefined reference to `lua_tolstring'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:971: undefined reference to `lua_toboolean'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:979: undefined reference to `lua_tonumber'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:987: undefined reference to `lua_tocfunction'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:1003: undefined reference to `lua_touserdata'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/libScript.a(ScriptTable.o): In function `ScriptTable::initFromStack(lua_State*)':
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:1036: undefined reference to `lua_gettop'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:1037: undefined reference to `lua_type'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/libScript.a(ScriptTable.o): In function `ScriptTable::addSubTable(lua_State*)':
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:789: undefined reference to `lua_gettop'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:790: undefined reference to `lua_pushnil'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:792: undefined reference to `lua_type'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:806: undefined reference to `lua_type'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:807: undefined reference to `lua_type'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:812: undefined reference to `lua_tonumber'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:815: undefined reference to `lua_tolstring'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:821: undefined reference to `lua_tonumber'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:825: undefined reference to `lua_toboolean'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:829: undefined reference to `lua_tolstring'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:833: undefined reference to `lua_tocfunction'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:839: undefined reference to `lua_tolstring'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:845: undefined reference to `lua_tolstring'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:848: undefined reference to `lua_settop'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:797: undefined reference to `lua_next'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/libScript.a(ScriptTable.o): In function `ScriptTable::addVars(lua_State*)':
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:857: undefined reference to `lua_gettop'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:863: undefined reference to `lua_type'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:864: undefined reference to `lua_tolstring'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:881: undefined reference to `lua_tolstring'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:889: undefined reference to `lua_toboolean'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:897: undefined reference to `lua_tonumber'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:905: undefined reference to `lua_tocfunction'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:921: undefined reference to `lua_touserdata'
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/libScript.a(ScriptTable.o): In function `ScriptTable::toStringSubTable(unsigned int, unsigned int, bool, bool)':
/home/prompt/workspace/NSSEngine/trunk/Code/Script/Debug Linux/../ScriptTable.cpp:180: undefined reference to `lua_pushlightuserdata'
collect2: ld returned 1 exit status
make: *** [kk] Error 1
Por ejemplo en la libreria de LUA "nm" me dice esto:
prompt@linux-y9y2:~/workspace/NSSEngine/trunk/Bin> nm ../Code/_Libs/lua-5.1.1/Debug\ Linux/libLUA5.a | grep gettop
00000385 T lua_gettop
U lua_gettop
U lua_gettop
U lua_gettop
U lua_gettop
U lua_gettop
U lua_gettop
U lua_gettop
U lua_gettop
00000385 T lua_gettop
y Script que es donde da el problema con que no está definido lua_gettop:
prompt@linux-y9y2:~/workspace/NSSEngine/trunk/Bin> nm ../Code/Script/Debug\ Linux/libScript.a | grep gettop
U lua_gettop
U lua_gettop
Por la santisima madre de todos los codigos y programadores de este foro, ayudadme necesito dormir!!!!!!!!!!!!!!!!!!!! :-[
El problema está en llamar desde una librería estática funciones de otra... yo no me lo explico. :grrr:
¿El segundo mensaje significa que lo has solucionado? ???
Si es así, efectívamente necesitabas dormir :P
No, no lo he solucionado, solo identifico el problema...
Mi Arbol de proyectos es tal que así:
- AI
- Core
- Effects
- Game
- lua-5.1.1
- Math
- Network
- Objects
- Physics
- Scene
- Script
- Sound
- UI
- Viewer (exe)
Todos los librerias estaticas, y si por ejemplo UI, necesita Math::PI (static const float) me dice "unresolved external". Cuando encuentre a quien inventó el linker de GCC lo mato... para que **** existen entonces las librerias estaticas?, en el proyecto están todas las referencias bien definidas etc...
Has probado con la opción -static de gcc?
Justo eso intento, aunque en linux ya lo intenté desde el makefile y nada.
de momento -static no funciona
Cita de: Prompt en 19 de Enero de 2009, 06:15:04 PM
de momento -static no funciona
Aunque no funcione, te saca los mismos undefined?
¿Estas poniendo las librerisa en el orden adecuaod al linkar?
El linker de GNU es de una sola pasada y solo hace caso de los nombres que hayan sido referenciados previamente por otras librerias y objetos al linkar.
Si pones -llua antes de -lscript te mostrara unresolveds pero si pones -lscript -llua funcionara.
Supogo que las rutas donde mirar las librerias estan todas correctas ¿verdad?
Mira a ver si es algo de eso.
Cita de: ethernet en 19 de Enero de 2009, 07:35:24 PM
Cita de: Prompt en 19 de Enero de 2009, 06:15:04 PM
de momento -static no funciona
Aunque no funcione, te saca los mismos undefined?
Si pero, no me fio ya de nada, lo he intentado por activa y por pasiva. Lo digo porque al probe a compilar Math en dinamico con otro proyecto->Math2, y se quitaron los herrores referentes a esa libreria y ocupada 1.8MB, volvi a activarlo en estatico y a parte de que es poco tamaño no salian los errores! no me lo creía claro... recompile, revise todo, clean yo que se! y volvieron a aparecer.
Cita de: senior wapo en 20 de Enero de 2009, 01:58:33 AM
¿Estas poniendo las librerisa en el orden adecuaod al linkar?
El linker de GNU es de una sola pasada y solo hace caso de los nombres que hayan sido referenciados previamente por otras librerias y objetos al linkar.
Si pones -llua antes de -lscript te mostrara unresolveds pero si pones -lscript -llua funcionara.
Supogo que las rutas donde mirar las librerias estan todas correctas ¿verdad?
Mira a ver si es algo de eso.
Probé a jugar con el orden, incluso a petetir todos los -l por si acaso. Y nada. Si, las rutas son las correctas, sino me suele salir "no cuentro -lScene" por ejemplo.
Ayer probé a la desesperada, a hacer "links" de directorios dentro del proyecto "kk" (de test claro) y bueno aun no lo he compilado todo, pero estoy seguro de que así funcionará. No obstante, no es la manera "standard" y quiero intentar no hacerlo claro...
Re-probaré con el orden, desde 0 con pocas librerias ya que el proyecto "kk" es para ensuciar, es una simple ventana de glut. Ya os contaré mis avances.
Un saludo a todos, y gracias por el interés.
Alguien podria decirme algun comando / programa que detecte si hay dependencias cruzadas entre librerias?
Lo mismo es mi problema y el linker no lo detecta... es una posibilidad.
Una vez resueltas las referencias cruzadas, y bien ordenadas las librerias... nada. Usando -static tampoco.
Menuda mierda de GCC en el año 2009 linkando con librerias estaticas. Posiblemente sea más culpa del quien genera el Makefile... pero es que todo esto me parece increible...
Cita de: Prompt en 20 de Enero de 2009, 02:28:34 PM
Cuando encuentre a quien inventó el linker de GCC lo mato... para que **** existen entonces las librerias estaticas?
Menuda mierda de GCC en el año 2009 linkando con librerias estaticas...
¿Tienes algo en contra de GCC?
Si lo tienes, por favor, aporta algo que no sea solo un insulto...
A ver si ahora todo tiene que ser como quieran los compiladores de Microsoft, y la gente de *nix y Mac son unos inútiles...
Cita de: fjfnaranjo en 20 de Enero de 2009, 03:07:06 PM
Cita de: Prompt en 20 de Enero de 2009, 02:28:34 PM
Cuando encuentre a quien inventó el linker de GCC lo mato... para que **** existen entonces las librerias estaticas?
Menuda mierda de GCC en el año 2009 linkando con librerias estaticas...
¿Tienes algo en contra de GCC?
Si lo tienes, por favor, aporta algo que no sea solo un insulto...
A ver si ahora todo tiene que ser como quieran los compiladores de Microsoft, y la gente de *nix y Mac son unos inútiles...
Mira, ni te has leido el post y encima usas Windows! por favor... tu post está totalmente fuera de lugar y no has entendido el contenido de mi ultimo post, que ni siquiera le echo la culpa a GCC. Pero aun está por ver.
Vaya tela lo que hay que aguantar... >:(
Haya paz... Venga, un besito pa los dos :-* :P
Cita de: tewe76 en 20 de Enero de 2009, 07:23:25 PM
Haya paz... Venga, un besito pa los dos :-* :P
CTRL + SHIFT + B POWAAAAAA (compilar dentro del VS :p)
En serio, suerte con las referencias, ese tipo de cosas son una tortura... :(
Cita de: Prompt en 20 de Enero de 2009, 07:22:07 PM
Mira, ni te has leido el post y encima usas Windows! por favor... tu post está totalmente fuera de lugar y no has entendido el contenido de mi ultimo post, que ni siquiera le echo la culpa a GCC. Pero aun está por ver.
Pues sí... No solo llevo varios días siguiendo el hilo si no que para colmo escribo desde un GNU/Linux Debian Lenny usando Iceweasel. Cuando te dije que usases argumentos no me refería a una falacia ad hominem...
Entiendo por lo que estás pasando, porque es bastante común y nos ha pasado a todos los que programamos cuando queremos hacer un build de algo que tiene muchas dependencias de librerías externas. Solo te pido que no te metas gratuitamente con el compilador porque no funcione como tu desees (o como hayas aprendido que debe funcionar).
Es lo único que pretendía, no que esto se convirtiese en ataques personales y gente poniendo orden.
De hecho, yo suelo ser muy poco confrontativo y bastante simpático. Pero es que cuando se meten con mis ñus me pongo malo :P Y vamos, por supuesto que si pudiese echarte una mano te la echaría. Incluso en persona, pero va a ser imposible por una mera cuestión de logística.
Perdón por meterme en plan troll en tu hilo de petición de colaboración (me debe estar bajando la regla hoy...), pero es que comentarios como los que haces son los que acaban dando mala fama al SL... Esta claro que a la mayoría de la gente que conoce GCC no le va a afectar lo que comentas, pero es que estoy harto de encontrarme a gente (e incluso a algunos ingenieros) que dicen cosas como: "Pues el automake es una mierda porque es un caos!". Alguien tenía que salir en su defensa ;)
Tranquilo Prompt, todo pasará xD
Esos mismos problemas los he tenido miles de veces con gcc, y no por que no sepa... (bueno a lo mejor si xD)
Cuando compilo usando cross-tools, sobretodo Dreamcast y GBA obtengo muchos unresolved, pero siempre se solucionan cambiando el orden de las libs... O eso o recompilandolas todas... Podrias poner el comando exacto que usas para linkar?? Yo tuve problemas al enlazar librerias estaticas y dinámicas a la vez y no recuerdo cómo lo solucioné ahora...
En fin, paz hermanos, que todos estamos del mismo lado, no?
Saludos!
Cita de: Prompt en 20 de Enero de 2009, 09:36:17 AM
Alguien podria decirme algun comando / programa que detecte si hay dependencias cruzadas entre librerias?
Lo mismo es mi problema y el linker no lo detecta... es una posibilidad.
dependency walker !
Voy a hablar en modo cabreo, así que perdoname si te ofende algo, porque yo me siento ofendido.
[Mode cabreo=ON]
Cita de: fjfnaranjo en 20 de Enero de 2009, 09:47:32 PM
Pues sí... No solo llevo varios días siguiendo el hilo si no que para colmo escribo desde un GNU/Linux Debian Lenny usando Iceweasel. Cuando te dije que usases argumentos no me refería a una falacia ad hominem...
Gracias pues por aportar tus grandes ideas, ayudas en este foro y a sus miembros.
Cita de: fjfnaranjo
Entiendo por lo que estás pasando, porque es bastante común y nos ha pasado a todos los que programamos cuando queremos hacer un build de algo que tiene muchas dependencias de librerías externas.
No estoy hablando de algo común, por dios! se perfectamente compilar librerias staticas con GCC, he buzeado en internet y leído toda la documentación referente al compilador y al linker (que es donde empiezan los problemas).
Cita de: fjfnaranjo
Solo te pido que no te metas gratuitamente con el compilador porque no funcione como tu desees (o como hayas aprendido que debe funcionar).
Lo 1º! >:( que el problema no está en compilar, para empezar!
Lo 2º que no tengo problemas con el compilador, es mi favorito
Lo 3º es que no tienes ni idea de que he aprendido en mi vida ni que no, te pido que no vuelvas a hablar vaciladas que ya está bien de convertir post serios en mierda sensacionalista y montar follón.
Dicho esto, nuevamente digo que no has entendido de que va el post, y dejame que reflexione yo sobre tus conocimientos, porque ni siquiera hablas con propiedad con el tema del "compilador". Te repito que es el LINKER!! ld :grrr:
[Mode cabreo=OFF]
Cita de: fjfnaranjo
Es lo único que pretendía, no que esto se convirtiese en ataques personales y gente poniendo orden.
De hecho, yo suelo ser muy poco confrontativo y bastante simpático. Pero es que cuando se meten con mis ñus me pongo malo :P Y vamos, por supuesto que si pudiese echarte una mano te la echaría. Incluso en persona, pero va a ser imposible por una mera cuestión de logística.
Logistica es de material y creo que tienes material para darme consejos sobre un tema tan común... xD
Cita de: fjfnaranjo
Perdón por meterme en plan troll en tu hilo de petición de colaboración (me debe estar bajando la regla hoy...), pero es que comentarios como los que haces son los que acaban dando mala fama al SL... Esta claro que a la mayoría de la gente que conoce GCC no le va a afectar lo que comentas, pero es que estoy harto de encontrarme a gente (e incluso a algunos ingenieros) que dicen cosas como: "Pues el automake es una mierda porque es un caos!". Alguien tenía que salir en su defensa ;)
Que es, SL? Second Life? ???
Yo no digo, que GCC sea una mierda, es que por esto entre otras cosas te repito que no has entendido mi post. Me he referido a que el linker no da suficiente información ni el compilador. Y esto es una realidad. Hay una serie de errores genéricos y es lo que hay. "unresolved external". El compilador G++ y el linker ld no son capaces ambos de detectar un futuro problema de "unresolved external" si hay un fallo de diseño o referencias repetidas o mil historias. Es incapaz y punto porque no tiene un analizador para eso. Por lo cual, al juntarlo todo "explota" y el linked no sabe con que demonios linkar, no encuentra la definición.
Esto es algo, que nos guste o no, al compilador de microsofot al menos no le pasa, y cualquiera de la industria te puede decir y justificar que el compilador y el linker de Visual Studio es extremandamente bueno. Para mí peca de hacerte la vida facil, es muy flexible e inteligente como para saber con que linkar etc... pero esto es un gusto personal.
Si me permite, esta estupidez de discusión una vez aclarado ciertos puntos yo creo que ya ha finalizado, si te parece bien. Si resuelvo esto el día de mañana cuando alguien busque en el foro, se va a encontrar con estos posts de 2 personas discutiendo tonterias de "no digas na malo de GCC"... esto está fuera de lugar para el contenido del post por favor...
Cita de: davidgf en 21 de Enero de 2009, 12:53:46 AM
Tranquilo Prompt, todo pasará xD
Esos mismos problemas los he tenido miles de veces con gcc, y no por que no sepa... (bueno a lo mejor si xD)
Cuando compilo usando cross-tools, sobretodo Dreamcast y GBA obtengo muchos unresolved, pero siempre se solucionan cambiando el orden de las libs... O eso o recompilandolas todas... Podrias poner el comando exacto que usas para linkar?? Yo tuve problemas al enlazar librerias estaticas y dinámicas a la vez y no recuerdo cómo lo solucioné ahora...
En fin, paz hermanos, que todos estamos del mismo lado, no?
Saludos!
El de arriba, g++ se encarga de llamar a ld y mete todos los path del "sistema" de MingW y los nativos de linux, lo puse en verbose (-v) para verlo pero no guardé el log.
Lo que estoy haciendo ahora es limpiar y cambiar el diseño de mi motor a un diseño más limpio ordenado y que evite referencias cruzadas entre librerias lo máximo posible. Estoy quitando muchas definiciones repetidas, que el compilador puede resolver bien pero quizás el liker no, creo y espero que ahí esté el problema. Os iré comentando como lo soluciono ya que es un problemon dificil de solucionar y como dije anteriormente el linker ld o el compilador (por el hecho de generar el el código) no son lo suficientemente listos como para resolver esas definiciones. Esto es un gusto personal, yo lo prefiero así, aunque me pege 2 semanas haciendo refactoring.
Gracias por tu comentario y tu ayuda, una vez haga refactoring volveré a intentar compilar y linkar todo y postearé con el log "verbose".
Cita de: Buffon en 21 de Enero de 2009, 08:58:25 AM
dependency walker !
:o yeah! un poco tarde porque estoy en medio del refactoring :P pero muchas gracias, me lo apunto!
Esto lo dice todo:
(http://www.alvaromartin.net/images/linux/viewer_linux_port_small.jpeg) (http://www.alvaromartin.net/images/linux/viewer_linux_port.jpeg)
Ah se me olvidaba, finalmente lo que he hecho es dejar como directorio del proyecto, como un directorio más de código fuente toda la carpeta del motor, es como compilarlo estáticamente y me va perfecto, es una buena opción.
No obstante, probablemente ahora mismo funcionaría el "linkado" estático despues de hacer refactoring y limpieza. Si le falla a alguien el linkado con las librerias es una buena practica incluir tooooda la carpeta de donde están las librerias del proyecto y resolver los conflictos. (que de veces he dicho libreria xD)
Un saludo a todos y gracias por la atención.