Logo

¡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.
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.