genbetadev / Genbeta-Dev-Engine

Desarrollo de un Game Engine básico sobre C++ y SFML 2.1
MIT License
63 stars 32 forks source link

Crear proyecto con Genbeta-Dev-Engine y SFML con codeblocks en Linux #15

Open RicardoRB opened 10 years ago

RicardoRB commented 10 years ago

Espacio que usaré para realizar un tutorial de como realizar un proyecto con la librería SFML y Genbeta-Dev-Engine en linux con el IDE codeblocks.

adrigm commented 10 years ago

El tutorial hazlo en la wiki (he entendido que lo harás aquí) Aqui solo te lo asignas y dices que estás trabajando en ello para que otros usuarios no te pisen el trabajo. También lo puedes usar para comentar dudas o dejar cuestiones.

RicardoRB commented 10 years ago

De acuerdo, perdón por la ignorancia y muchas gracias por la aclaración.

adrigm commented 10 years ago

Poco a poco, el proyecto también servirá para que muchos aprendan a manejarse en proyectos colaborativos.

adrigm commented 10 years ago

Una cosa. El proyecto debes crearlo en la carpeta builds/codeblocks ahí deben ir todos los archivos que genere Codeblocks.

Ah y los nombres internos de los proyectos de Codeblock supongo que tendrá Debug y Release. Nombralos como Debug-windows y Release-windows ya que el IDE está para otros sistemas operativos y llevará su propia configuración.

RicardoRB commented 10 years ago

De acuerdo, y supongo que te refieres a Debug-linux y Release-linux,ya que el tutorial se hará para esa plataforma, ¿me equivoco?

adrigm commented 10 years ago

Vamos a ver porque nos estamos liando. Tu vas a hacer un tutorial de como configurar el proyecto para codeblocks, me equivoco? Más que en un tutorial en este caso lo que necesitamos es crear el proyecto en codeblocks y añadirlo al repo, no crees?

RicardoRB commented 10 years ago

Vale, creí que querías que hiciese un tutorial para aquellos que quisieran usar el codeblocks en linux. Crearé el proyecto, y haré pull request.

RicardoRB commented 10 years ago

Una pregunta, tengo hecho lo que es el workspace con los 2 proyectos, pero no sé de que forma puedo hacer para que funcione el Test con el GDE, siempre he utilizado un único proyecto para todo. ¿Alguien podría explicarme a que se debe los 2 proyectos y la forma de relacionarlos?

edoren commented 10 years ago

El test es un ejecutable al cual se le linkearia la librería GDE, sirve para probar cada uno de los módulos que se crean, o me equivoco @adrigm?

adrigm commented 10 years ago

A ver, el proyecto GDE es nuestro motor en sí, una librería que cuando esta acabada podremos usar en nuestros proyectos como ahora usamos SFML.

El proyecto Test como bien dice @edoren no es más que un proyecto de prueba para ir testeando el motor.

La biblioteca (GDE) hace uso de SFML y el ejecutable (Test) hace uso de SFML y GDE, en el artículo de Genbeta Dev lo explico (la imagen que hay).

Así que cuando compilamos, buscar si el ide tiene una opción de dependencia u orden de compilado, primero se debe generar la biblioteca (que va al directorio lib/) y luego se genera el ejecutable (que va al directorio bin/)

Ambos hacen uso de las librerías de SFML que estarán en (extlibs/libs-xxx).

¿Queda más claro ahora?

RicardoRB commented 10 years ago

Ahora queda más claro, gracias, pero tengo un problema. Ya tengo todo para que se genere la librería "GDE.dll", pero en el proyecto "Test" me dice que no encuentra la referencia. Le he puesto en el linker donde está la librería y le he creado dependencia con el GDE pero aún así, no las encuentra.

adrigm commented 10 years ago

@RicardoRB prueba a crear GDE como biblioteca estática (.a). A ver si te va, no tengo experiencia con codeblock,

RicardoRB commented 10 years ago

Vale, ya está solucionado, después de tanto comerme la cabeza el problema es que en la opción del linker no especificaba el gde, aunque le pusiese donde estaba la ruta del lib, no lo encontraba porque no estaba adjuto en el linker. Ahora te hago el pull request.