Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

CO zamiast <GL/glut.h>

Ostatnio zmodyfikowano 2014-01-22 23:52
Autor Wiadomość
dejmien
Temat założony przez niniejszego użytkownika
CO zamiast <GL/glut.h>
» 2014-01-09 10:43:55
Witam.

Mam problem z <GL/glut.h> dlatego że w żadnym kompilatorze mi go nie wyszukuje,w code::blocks przykładowy program działa ale gdy zamieszczam jakiś program z kursu to już nie bo wszystkie korzystają z <GL/glut.h>
. Pobrałem nawet paczkę  z biblioteką glut i wrzuciłem ją do folderu z plikami projektu i nic... dalej to samo ,,no such file of directory"

Ktoś wie co w takim przypadku zrobić?
P-101658
PsichiX
» 2014-01-09 13:37:46
"GL/glut.h" gdy masz wrzucone pliki gluta do źródeł projektu, oczywiście zachowując strukturę plików.
P-101663
pekfos
» 2014-01-09 18:38:39
Spróbuj z freeglutem.

"GL/glut.h" gdy masz wrzucone pliki gluta do źródeł projektu
Nie tylko.
P-101686
dejmien
Temat założony przez niniejszego użytkownika
» 2014-01-12 11:56:03
Użyłem #include "glut.h" i nie narzeka na brak bibliotek ale doczepia się to funkcji i instrukcji związanych z glut. Czy to oznacza że mam coś źle zrobione u siebie czy te instrukcje związane z glut też mają inaczej wyglądać? Korzystam z przykładu z drugiej 3 lekcji kursu.
P-101918
squaredterror
» 2014-01-12 12:28:58
Jeżeli umiesz trochę angielski to tutaj masz linka do strony na której piszą jak wgrać glut do VS. A tak pozatym program ci niedziała jak go kompilujesz czy jak go włączasz z pliku .exe ? LINK: http://stackoverflow.com​/questions/12171317​/how-do-you-install-glut-and-opengl-in-visual-studio-2012
P-101922
dejmien
Temat założony przez niniejszego użytkownika
» 2014-01-13 23:45:17
Program mi nie działa gdy go kompiluję. Przyczepia mi się do różnych funkcji związanych z glut itp.
P-102128
mactec
» 2014-01-13 23:50:21
Użyj freeglut'a tak jak radzi pekfos.
P-102129
dejmien
Temat założony przez niniejszego użytkownika
» 2014-01-22 23:29:35
Odświeżam temat bo przedtem nie miałem czasu bawić się z OpenGl.

Tak więc użyłem freeglut i w build options podlinkował inlcude, lib i dll.

Podczas kompilacji pojawia się błąd:


obj\Debug\main.o||In function `glutInit_ATEXIT_HACK':|
C:\Users\Damian\Desktop\OpenGl\..\freeglut\include\GL\freeglut_std.h|620|undefined reference to `_imp____glutInitWithExit@12'|
obj\Debug\main.o||In function `glutCreateWindow_ATEXIT_HACK':|
C:\Users\Damian\Desktop\OpenGl\..\freeglut\include\GL\freeglut_std.h|622|undefined reference to `_imp____glutCreateWindowWithExit@8'|
obj\Debug\main.o||In function `glutCreateMenu_ATEXIT_HACK':|
C:\Users\Damian\Desktop\OpenGl\..\freeglut\include\GL\freeglut_std.h|624|undefined reference to `_imp____glutCreateMenuWithExit@8'|
obj\Debug\main.o||In function `Display':|
C:\Users\Damian\Desktop\OpenGl\main.c|35|undefined reference to `_imp__glutSwapBuffers@0'|
obj\Debug\main.o||In function `main':|
C:\Users\Damian\Desktop\OpenGl\main.c|71|undefined reference to `_imp__glutInitDisplayMode@4'|
C:\Users\Damian\Desktop\OpenGl\main.c|74|undefined reference to `_imp__glutInitWindowSize@8'|
C:\Users\Damian\Desktop\OpenGl\main.c|80|undefined reference to `_imp__glutDisplayFunc@4'|
C:\Users\Damian\Desktop\OpenGl\main.c|83|undefined reference to `_imp__glutReshapeFunc@4'|
C:\Users\Damian\Desktop\OpenGl\main.c|91|undefined reference to `_imp__glutAddMenuEntry@8'|
C:\Users\Damian\Desktop\OpenGl\main.c|98|undefined reference to `_imp__glutAttachMenu@4'|
C:\Users\Damian\Desktop\OpenGl\main.c|101|undefined reference to `_imp__glutMainLoop@0'|
||=== Build finished: 11 errors, 0 warnings (0 minutes, 0 seconds) ===|


Kod programu:

C/C++
#include <GL/glut.h>
#include <stdlib.h>

// funkcja generująca scenę 3D

void Display()
{
    // kolor tła - zawartość bufora koloru
    glClearColor( 1.0, 1.0, 1.0, 1.0 );
   
    // czyszczenie bufora koloru
    glClear( GL_COLOR_BUFFER_BIT );
   
    // kolor kwadratu
    glColor3f( 1.0, 0.0, 0.0 );
   
    // początek definicji wielokąta
    glBegin( GL_POLYGON );
   
    // kolejne wierzchołki wielokąta
    glVertex3f( 0.0, 0.0, 0.0 );
    glVertex3f( 0.0, 1.0, 0.0 );
    glVertex3f( 1.0, 1.0, 0.0 );
    glVertex3f( 1.0, 0.0, 0.0 );
   
    // koniec definicji prymitywu
    glEnd();
   
    // skierowanie poleceń do wykonania
    glFlush();
   
    // zamiana buforów koloru
    glutSwapBuffers();
}

// zmiana wielkości okna

void Reshape( int width, int height )
{
    // generowanie sceny 3D
    Display();
}

// stałe do obsługi menu podręcznego

enum
{
    EXIT // wyjście
};

// obsługa menu podręcznego

void Menu( int value )
{
    switch( value )
    {
        // wyjście
    case EXIT:
        exit( 0 );
    }
}

int main( int argc, char * argv[] )
{
    // inicjalizacja biblioteki GLUT
    glutInit( & argc, argv );
   
    // inicjalizacja bufora ramki
    glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB );
   
    // rozmiary głównego okna programu
    glutInitWindowSize( 400, 400 );
   
    // utworzenie głównego okna programu
    glutCreateWindow( "Kwadrat 1" );
   
    // dołączenie funkcji generującej scenę 3D
    glutDisplayFunc( Display );
   
    // dołączenie funkcji wywoływanej przy zmianie rozmiaru okna
    glutReshapeFunc( Reshape );
   
    // utworzenie menu podręcznego
    glutCreateMenu( Menu );
   
    // dodatnie pozycji do menu podręcznego
    #ifdef WIN32
   
    glutAddMenuEntry( "Wyjście", EXIT );
    #else
   
    glutAddMenuEntry( "Wyjscie", EXIT );
    #endif
   
    // określenie przycisku myszki obsługującej menu podręczne
    glutAttachMenu( GLUT_RIGHT_BUTTON );
   
    // wprowadzenie programu do obsługi pętli komunikatów
    glutMainLoop();
    return 0;
}
P-102899
« 1 » 2
  Strona 1 z 2 Następna strona