Título: Error POO en SDL Publicado por: Puntoinfinito en 5 Julio 2013, 01:26 am Hola!!
Estoy aplicando mis conocimientos de POO a SDL y para comenzar queria hacer un pong, pero me da unos errores diciendo de que no he definido las funciones de las clases cuando si lo he hecho en los .cpp de cada header!! :/ Bueno, os dejo con el problema que es global xD y el codigo para que os fijeis en que me falta. Saludos!! Citar /tmp/ccuLFlB8.o: En la función `main': main.cpp:(.text+0x39): referencia a `init::Init(std::string)' sin definir main.cpp:(.text+0x5b): referencia a `input::getKey()' sin definir main.cpp:(.text+0x65): referencia a `input::getKey()' sin definir main.cpp:(.text+0x6f): referencia a `raquet::moveRaquet()' sin definir main.cpp:(.text+0x79): referencia a `raquet::moveRaquet()' sin definir main.cpp:(.text+0xab): referencia a `graphics::loadImage(std::string)' sin definir main.cpp:(.text+0xb8): referencia a `raquet::getY()' sin definir main.cpp:(.text+0xcc): referencia a `collision::checkCollision(int, SDL_Surface*, int)' sin definir main.cpp:(.text+0x116): referencia a `graphics::loadImage(std::string)' sin definir main.cpp:(.text+0x123): referencia a `raquet::getY()' sin definir main.cpp:(.text+0x137): referencia a `collision::checkCollision(int, SDL_Surface*, int)' sin definir main.cpp:(.text+0x159): referencia a `raquet::getY()' sin definir main.cpp:(.text+0x166): referencia a `raquet::getX()' sin definir main.cpp:(.text+0x19a): referencia a `graphics::loadImage(std::string)' sin definir main.cpp:(.text+0x1ac): referencia a `graphics::drawImage(SDL_Surface*, int, int)' sin definir main.cpp:(.text+0x1ce): referencia a `raquet::getY()' sin definir main.cpp:(.text+0x1db): referencia a `raquet::getX()' sin definir main.cpp:(.text+0x20f): referencia a `graphics::loadImage(std::string)' sin definir main.cpp:(.text+0x221): referencia a `graphics::drawImage(SDL_Surface*, int, int)' sin definir main.cpp:(.text+0x245): referencia a `SDL_Flip' sin definir main.cpp:(.text+0x24f): referencia a `SDL_Delay' sin definir collect2: error: ld devolvió el estado de salida 1 (https://www.opaef.es/opencms/export/sites/opaef/web/portal/images/icos/zip.gif) Código : https://docs.google.com/file/d/0B_bICudPUUcpMVNkOFFSMkU3d2s/edit?usp=sharing Título: Re: Error POO en SDL Publicado por: pacoperico en 5 Julio 2013, 14:26 pm Asi a bote pronto diria que la biblioteca SDL no la tienes correctamente instalada o configurada. Posiblemente el linker no enlaza con los archivos de SDL. Echale un ojo a este enlace:
http://lazyfoo.net/SDL_tutorials/lesson01/index.php (http://lazyfoo.net/SDL_tutorials/lesson01/index.php) Título: Re: Error POO en SDL Publicado por: amchacon en 5 Julio 2013, 14:34 pm Error de linkado.
¿Cómo compilas tú? Si lo haces con líneas de comandos tienes que escribir el nombre de todos los archivos (o usar un makefile). Si usas un IDE como Codeblocks, tienes que meter todos los archivos en un mismo proyecto. Además de eso, tienes que inicializar el vídeo, las SDL y tienes que "linkar" con la librería SDL... Si me dices tu SO y las herramientas que utilizas te lo explico. Título: Re: Error POO en SDL Publicado por: Puntoinfinito en 5 Julio 2013, 16:25 pm Edito con vim, y sí, estaba compilando desde la terminal. :/ El vídeo ya lo inicio en el código (init.cpp) y que yo sepa linkeo ya la librería SDL.
Título: Re: Error POO en SDL Publicado por: amchacon en 5 Julio 2013, 16:33 pm Edito con vim, y sí, estaba compilando desde la terminal. :/ El vídeo ya lo inicio en el código (init.cpp) y que yo sepa linkeo ya la librería SDL. Tienes que incluir todos los archivos cpp en la compilación:Código
Título: Re: Error POO en SDL Publicado por: Puntoinfinito en 5 Julio 2013, 16:35 pm Los headers también, no?? Con un makefile como se haría??
Título: Re: Error POO en SDL Publicado por: amchacon en 5 Julio 2013, 16:36 pm Los headers también, no?? No, los headers se añaden solitos con el #includeCon Codeblocks todo esto es más fácil ;) Título: Re: Error POO en SDL Publicado por: Puntoinfinito en 5 Julio 2013, 16:45 pm Y el orden de los archivos source durante la compilacion (g++ code1.cpp ...) importa??
Título: Re: Error POO en SDL Publicado por: amchacon en 5 Julio 2013, 16:48 pm Como norma general, no.
|