Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Editor Dev-c

Iniciado por Taris, 22 de Agosto de 2005, 11:39:17 AM

« anterior - próximo »

Taris

 Wenas a ver si alguien me puede ayudar estoy haciendo unos tutoriales de opengl para posteriormente intentar hacer algun juego sencillo. Para ello utilizo el editor dev-c pero ya me desanima porque en mi primer tutorial (creacion de una ventana con opengl) ya me da un error y no se k passa e provado el mismo codigo en visual c y si va (os estareis preguntando pues, pk no lo haces en Vc? pues pk en el ordenador k tengo instalado este programa es muy viejo y intento instalar el vc en el nuevo pc pero los cd estan dañados o los archivos aunke son nuevos solo los utilice una vez hace mucho tiempo, por eso me baje este editor gratuito el dev-c. Os pongo el tuto y el error haber si me lo sabeis solucionar, creo k es pk no tengo el editor bien configurado o las librerias o algo asi.

#include "gl/glut.h"

void Renderescena(void);
void SetupRC(void);
main(void)
{
         //Para establecer el modo del bufer. El bufer es donde se guardan los comandos de dibujo en este caso al ser simple
         //todos estos comandos se ejecutan en el dibujo de la ventana.
         glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
         //Crea la ventana y pone como titulo de esta simple.
         glutCreateWindow("Simple");
         
         //llama a la funcion que se encarga del borrado de pantalla o del bufer para ser mas exactos.
         //Bufer es una zona de almacenamiento de datos de la imagen. Los componentes de colo o de dibujo se conocen como:
         //bufer de color o bufer de pixeles.
         glutDisplayFunc(Renderescena);
         
         //esta funcion realiza cualquier inicializacion que deberiamos hacer de opengl antes de la presentacion.
         SetupRC();
         
         //Inicia la ejecucion de la estructura principal de la libreria blut y libera todas la s funciones de llamada y a glut.
         glutMainLoop();
}


void Renderescena(void)
{
    //Esta funcion borra un bufer determinado o conjunto de estos.
    //En opengl encontramos varios tipos de bufer (color, profundidad, plantillas y acumulacion)
    //En este caso borramos el bufer de color que es donde se encuentra la imagen guardada internamente y con esta funcion
    //borramos el ultimo dibujo de la ventana.
   glClear(GL_COLOR_BUFFER_BIT);
   
   //ejecuta todos los comandos de opengl que no se hayan ejecutado ya.
   glFlush();
}

void SetupRC(void)
{
    //Establece el color de borrado de la pantalla(pero no la borra), en este caso ventana.
    //los parametros son rojo,verde,azul,alpha son de tipos float.
    glClearColor(0.0f,0.0f,1.0f,1.0f);
   
}


Ese es el errroooorrrr!!!!
me marca la libreria osea la primera linia del codigo y dice lo siguiente:

Compilador: Default compiler
Ejecutando  g++.exe...
g++.exe "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.cpp" -o "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.exe"   -ansi -traditional-cpp -w -fexceptions -pg -g3 -fmessage-length=0  -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" -lgmon -pg  -lobjc -g3 -fmessage-length=0
In file included from C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.cpp:1:
C:/Dev-Cpp/include/gl/glut.h:43: error: redeclaration of C++ built-in type `short'

Ejecución Terminada


Tambien canvie alguna configuracion del editor pero el error persiste canvia algo por eso.

Compilador: Default compiler
Ejecutando  g++.exe...
g++.exe "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.cpp" -o "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.exe"   -fexceptions -pg -g3  -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib" -lgmon -pg  -lobjc -g3
In file included from C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.cpp:1:
C:/Dev-Cpp/include/gl/glut.h:43: error: redeclaration of C++ built-in type `short'

Ejecución Terminada



NO se es k me desanimo nada mas empezar haber si alguien sabe ayudarme.

TheWind

 Prueba a usar uno de los devpacks q hay para dev-c:

http://www.nigels.com/glt/devpak/

http://devpaks.org/

Lo mas posible es q tengas un glut antiguo sin soporte de mingw

Taris

 gracias pero me temo k ahora tengo otro problema me dice lo siguiente de error

Compilador: Default compiler
Ejecutando  g++.exe...
g++.exe "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.cpp" -o "C:\Documents and Settings\Administrador\Mis documentos\tutoriales opnegl\tuto1.exe"    -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include"  -I"C:\Dev-Cpp\include\c++\3.4.2\backward"  -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32"  -I"C:\Dev-Cpp\include\c++\3.4.2"  -I"C:\Dev-Cpp\include"   -L"C:\Dev-Cpp\lib"
C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp/cceubaaa.o(.text+0xe):tuto1.cpp: undefined reference to `glClear@4'
C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp/cceubaaa.o(.text+0x16):tuto1.cpp: undefined reference to `glFlush@0'

C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp/cceubaaa.o(.text+0x46):tuto1.cpp: undefined reference to `glClearColor@16'
C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp/cceubaaa.o(.text+0x82):tuto1.cpp: undefined reference to `glutInitDisplayMode'
C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp/cceubaaa.o(.text+0x8e):tuto1.cpp: undefined reference to `glutCreateWindow'
C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp/cceubaaa.o(.text+0x9a):tuto1.cpp: undefined reference to `glutDisplayFunc'
C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp/cceubaaa.o(.text+0xa4):tuto1.cpp: undefined reference to `glutMainLoop'
collect2: ld returned 1 exit status

Ejecución Terminada

La version resumida de este error es esta:

[linker error] undefined reference to `glClear@4'
[linker error]undefined reference to `glFlush@0'
[linker error]undefined reference to `glClearColor@16'
[linker error]undefined reference to `glutInitDisplayMode'
[linker error]undefined reference to `glutCreateWindow'
[linker error]undefined reference to `glutDisplayFunc'
[linker error]undefined reference to `glutMainLoop'
Es k soy un desastre.

TheWind

 Le has indicado al linker q te enlace con glut y opengl? pq me parece q no.

ajmendoza

 Tienes linkadas las librerias correspondientes en las opciones del proyecto?

Taris

 vale lo acabo de linkar ahora dice esto.



cannot find -lobjc


k pesao k soy jejejejej perdonad pero esto de ser principiante en programacion grafica jo creo k si me fuera del todo bien el pc viejo pues lo aria alli pk este mismo tutorial lo ice en ese con vc y iva bien solo tube k grabar las librerias correspondientes y listo pero con el pc viejo esta a punto de petar no me puedo fiar y en este otro si tuviera los cd bien pues ya hubiera grabado el visual estudio pa no tener problemas pero es k yo soy monoaplicacion me cuesta muchisimo adequarme a otro entorno de desarrollo.

Perdonad las molestias.

Taris

 no esta mal no estan linkados joer como se hace eso es k e entrado en una opcion de editor k ponia linkar programa en c objetivo y pensaba k era eso por eso la e activado pero si lo hago me sale ese mensaje.

TheWind

 Objective C es un lenguaje diferente de C++ ó C, no se pq lo activas si no estas usandolo.

Taris

 ya ya por eso lo he desactivado es k no lo conocia ese lenguaje pero como linkeo los archivos. Jejejeje mejor k es linkar pk me parece k tengo un concepto erroneo de esto y despues como linkeo los archivos con el dev-c

ajmendoza

 En dev c++ tenias que ir a las opciones de proyecto (proyect->settings o algo así así) y buscar la pestaña links, ahí te saldrá una lista de librerias escritas por defecto, tienes que añadir "opengl32.lib" y  "glut32.lib" (escribiendola junto a las otras) y aceptar, ya estarán linkadas.

Por supuesto, esas librerias tienen que estar en la carpeta lib del compilador.

Un saludo

Taris

 Gracias esto ya esta jejejejejeje porfin veo la ventana k ice jejejejejejejeje ahora a por las formas y los viewports eso jejejejejejejejejejejeje






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.