Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24

Discussione: [c++ emacs]Opengl

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++ emacs]Opengl

    Ciao .
    Vorrei iniziare una nuova discussione e chiudere la precedente su anjuta.
    Sto provando a compilare un esempio di nehe che usa opengl , ma ricevo i seguenti errori:

    make -k
    gcc -Wall -I/usr/include/ -c -o lesson5.o lesson5.c
    lesson5.c:9:61: error: GL/glut.h: No such file or directory
    lesson5.c: In function ‘DrawGLScene’:
    lesson5.c:160: warning: implicit declaration of function ‘glutSwapBuffers’
    lesson5.c: In function ‘keyPressed’:
    lesson5.c:173: warning: implicit declaration of function ‘glutDestroyWindow’
    lesson5.c:176: warning: implicit declaration of function ‘exit’
    lesson5.c:176: warning: incompatible implicit declaration of built-in function ‘exit’
    lesson5.c: In function ‘main’:
    lesson5.c:184: warning: implicit declaration of function ‘glutInit’
    lesson5.c:191: warning: implicit declaration of function ‘glutInitDisplayMode’
    lesson5.c:191: error: ‘GLUT_RGBA’ undeclared (first use in this function)
    lesson5.c:191: error: (Each undeclared identifier is reported only once
    lesson5.c:191: error: for each function it appears in.)
    lesson5.c:191: error: ‘GLUT_DOUBLE’ undeclared (first use in this function)
    lesson5.c:191: error: ‘GLUT_ALPHA’ undeclared (first use in this function)
    lesson5.c:191: error: ‘GLUT_DEPTH’ undeclared (first use in this function)
    lesson5.c:194: warning: implicit declaration of function ‘glutInitWindowSize’
    lesson5.c:197: warning: implicit declaration of function ‘glutInitWindowPosition’
    lesson5.c:200: warning: implicit declaration of function ‘glutCreateWindow’
    lesson5.c:203: warning: implicit declaration of function ‘glutDisplayFunc’
    lesson5.c:206: warning: implicit declaration of function ‘glutFullScreen’
    lesson5.c:209: warning: implicit declaration of function ‘glutIdleFunc’
    lesson5.c:212: warning: implicit declaration of function ‘glutReshapeFunc’
    lesson5.c:215: warning: implicit declaration of function ‘glutKeyboardFunc’
    lesson5.c:221: warning: implicit declaration of function ‘glutMainLoop’
    make: *** [lesson5.o] Error 1
    make: Target `all' not remade because of errors.

    Compilation exited abnormally with code 2 at Sun Jul 13 11:58:02


    dove devo mettere le librerie opengl per fare si che emax compili?
    grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Beh ... sì ... mi sembra che i messaggi siano chiari ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    il fatto oregon è che sotto usr/include c'è già la directory GL con gli header necessari.
    Non capisco perchè non funziona.
    ciao.

  4. #4
    Originariamente inviato da giuseppe500
    il fatto oregon è che sotto usr/include c'è già la directory GL con gli header necessari.
    Non capisco perchè non funziona.
    ciao.
    Ciao in emacs, ti devi scrivere il makefile poi puoi compilare e debuggare tranquillamente.
    Se mostri anche il contenuto del makefile, posso darti una mano in più.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    dove trovo il makefile?
    grazie per l'aiuto

  6. #6
    Originariamente inviato da giuseppe500
    dove trovo il makefile?
    grazie per l'aiuto
    Pensavo lo avessi scritto tu
    Allora guarda nella cartella corrente, dovrebbe esserci un file chiamato appunto Makefile.
    Se c'è postalo, se no te lo scrivi.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    eccolo:
    INCLUDE = -I/usr/include/
    LIBDIR = -L/usr/X11R6/lib

    COMPILERFLAGS = -Wall
    CC = gcc
    CFLAGS = $(COMPILERFLAGS) $(INCLUDE)
    LIBRARIES = -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm

    # for all, set the targets to be every lesson1.c-lesson13.c
    # file, removing the .c extension. That is, at this point,
    # it would produce lesson1, lesson2, lesson3,...,lesson13 targets.
    #
    all: $(basename $(wildcard lesson[1-9].c lesson1[0-3].c))

    # same as for all, except set the targets to be
    # lessonX.tar.gz from lessonX.c. This is really
    # only used to build smaller tutorial .tar.gz files
    # to send to nehe.
    #
    dist: $(foreach file,$(basename $(wildcard lesson[1-9].c lesson1[0-3].c)),$(file).tar.gz)

    # to produce, say, lesson1.tar.gz:
    #
    # 1. remove lesson1.tar.gz
    # 2. build lesson1.tar containing README, makefile, lesson1.c, Data/lesson1/*.
    # 3. gzip lesson1.tar.
    #
    lesson%.tar.gz :
    tar cvf $(subst .tar.gz,.tar,$@) README makefile $(subst .tar.gz,.c,$@) $(wildcard Data/$(subst .tar.gz,,$@)/*); \
    gzip $(subst .tar.gz,.tar,$@);

    # to produce, say, lesson1:
    #
    # 1. compile the thing. uses the variables defined above.
    #
    lesson% : lesson%.o
    $(CC) $(CFLAGS) -o $@ $(LIBDIR) $< $(LIBRARIES)

    # to clean up:
    # delete all of the lessonX files.
    clean:
    rm $(wildcard lesson[1-9] lesson1[0-3])

    # to clean up the distributions:
    # delete all of the lessonX.tar.gz files.
    distclean:
    rm $(wildcard lesson[1-9].tar.gz lesson1[0-3].tar.gz)

  8. #8
    Io sostituirei il tutto con:
    codice:
    #Makefile for OpenGL
    CC = gcc
    CFLAGS = -Wall -O2
    LDFLAGS = -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm
    SRC= lesson5
    
    all:
    	$(CC) $(CFLAGS) -o $(SRC) $(SRC).c $(LDFLAGS)
    In emacs, compila con M-x compile e usa semplicemente make, non make -k
    Comunque guarda nella directory /usr/include/GL se c'è glut.h.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    purtroppo glut.h non lo trovo da nessuna parte ,
    Uso ubuntu, come lo installo?
    Si puo' installare da synaptic?

  10. #10
    Si certo che si può installare da synaptic.
    Ma io farei un semplice:
    codice:
    apt-get update
    apt-cache search glut --names-only
    e installere i pacchetti in output necessari.
    Se no in synaptic, basta cercare glut.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.