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

Glut + CODE::BLOCK problem

Ostatnio zmodyfikowano 2010-12-16 15:43
Autor Wiadomość
JarekKatowice
Temat założony przez niniejszego użytkownika
Glut + CODE::BLOCK problem
» 2010-12-16 15:02:06
Witam!
Korzystając z pomocy test strony:
http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/glut/

ściągnąłem gluta (z podanego na tej stronie linku) i zainstalowałem dokładnie tak jak tam pokazano. Niestety nie jestem w stanie skompilować projektu ponieważ pokazuje się błąd w pliku glut.h. Oto komunikaty:

C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|50|error: redeclaration of C++ built-in type `short'|
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|58|warning: ignoring #pragma comment |
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|66|warning: ignoring #pragma comment |
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|67|warning: ignoring #pragma comment |
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|68|warning: ignoring #pragma comment |
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|76|warning: ignoring #pragma warning |
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|77|warning: ignoring #pragma warning |
C:\Program Files\CodeBlocks\MinGW\include\GL\glut.h|549|warning: 'int glutCreateMenu_ATEXIT_HACK(void (*)(int))' defined but not used|
||=== Build finished: 1 errors, 7 warnings ===|

linijka z błędem wygląda tak:
typedef unsigned short wchar_t;

czy ktoś już poradził sobie z tym błędem?
pozdr
P-25210
DejaVu
» 2010-12-16 15:06:02
Zapewne masz złą kolejność dołączania plików nagłówkowych.
P-25212
JarekKatowice
Temat założony przez niniejszego użytkownika
» 2010-12-16 15:12:11
Przedstawiam caly kod

C/C++
/*
* GLUT Shapes Demo
*
* Written by Nigel Stewart November 2003
*
* This program is test harness for the sphere, cone
* and torus shapes in GLUT.
*
* Spinning wireframe and smooth shaded shapes are
* displayed until the ESC or q key is pressed.  The
* number of geometry stacks and slices can be adjusted
* using the + and - keys.
*/

#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif

#include <stdlib.h>

static int slices = 16;
static int stacks = 16;

/* GLUT callback Handlers */

static void resize( int width, int height )
{
    const float ar =( float ) width /( float ) height;
   
    glViewport( 0, 0, width, height );
    glMatrixMode( GL_PROJECTION );
    glLoadIdentity();
    glFrustum( - ar, ar, - 1.0, 1.0, 2.0, 100.0 );
   
    glMatrixMode( GL_MODELVIEW );
    glLoadIdentity();
}

static void display( void )
{
    const double t = glutGet( GLUT_ELAPSED_TIME ) / 1000.0;
    const double a = t * 90.0;
   
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
    glColor3d( 1, 0, 0 );
   
    glPushMatrix();
    glTranslated( - 2.4, 1.2, - 6 );
    glRotated( 60, 1, 0, 0 );
    glRotated( a, 0, 0, 1 );
    glutSolidSphere( 1, slices, stacks );
    glPopMatrix();
   
    glPushMatrix();
    glTranslated( 0, 1.2, - 6 );
    glRotated( 60, 1, 0, 0 );
    glRotated( a, 0, 0, 1 );
    glutSolidCone( 1, 1, slices, stacks );
    glPopMatrix();
   
    glPushMatrix();
    glTranslated( 2.4, 1.2, - 6 );
    glRotated( 60, 1, 0, 0 );
    glRotated( a, 0, 0, 1 );
    glutSolidTorus( 0.2, 0.8, slices, stacks );
    glPopMatrix();
   
    glPushMatrix();
    glTranslated( - 2.4, - 1.2, - 6 );
    glRotated( 60, 1, 0, 0 );
    glRotated( a, 0, 0, 1 );
    glutWireSphere( 1, slices, stacks );
    glPopMatrix();
   
    glPushMatrix();
    glTranslated( 0, - 1.2, - 6 );
    glRotated( 60, 1, 0, 0 );
    glRotated( a, 0, 0, 1 );
    glutWireCone( 1, 1, slices, stacks );
    glPopMatrix();
   
    glPushMatrix();
    glTranslated( 2.4, - 1.2, - 6 );
    glRotated( 60, 1, 0, 0 );
    glRotated( a, 0, 0, 1 );
    glutWireTorus( 0.2, 0.8, slices, stacks );
    glPopMatrix();
   
    glutSwapBuffers();
}


static void key( unsigned char key, int x, int y )
{
    switch( key )
    {
    case 27:
    case 'q':
        exit( 0 );
        break;
       
    case '+':
        slices++;
        stacks++;
        break;
       
    case '-':
        if( slices > 3 && stacks > 3 )
        {
            slices--;
            stacks--;
        }
        break;
    }
   
    glutPostRedisplay();
}

static void idle( void )
{
    glutPostRedisplay();
}

const GLfloat light_ambient[] = { 0.0f, 0.0f, 0.0f, 1.0f };
const GLfloat light_diffuse[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };

const GLfloat mat_ambient[] = { 0.7f, 0.7f, 0.7f, 1.0f };
const GLfloat mat_diffuse[] = { 0.8f, 0.8f, 0.8f, 1.0f };
const GLfloat mat_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat high_shininess[] = { 100.0f };

/* Program entry point */

int main( int argc, char * argv[] )
{
    glutInit( & argc, argv );
    glutInitWindowSize( 640, 480 );
    glutInitWindowPosition( 10, 10 );
    glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
   
    glutCreateWindow( "GLUT Shapes" );
   
    glutReshapeFunc( resize );
    glutDisplayFunc( display );
    glutKeyboardFunc( key );
    glutIdleFunc( idle );
   
    glClearColor( 1, 1, 1, 1 );
    glEnable( GL_CULL_FACE );
    glCullFace( GL_BACK );
   
    glEnable( GL_DEPTH_TEST );
    glDepthFunc( GL_LESS );
   
    glEnable( GL_LIGHT0 );
    glEnable( GL_NORMALIZE );
    glEnable( GL_COLOR_MATERIAL );
    glEnable( GL_LIGHTING );
   
    glLightfv( GL_LIGHT0, GL_AMBIENT, light_ambient );
    glLightfv( GL_LIGHT0, GL_DIFFUSE, light_diffuse );
    glLightfv( GL_LIGHT0, GL_SPECULAR, light_specular );
    glLightfv( GL_LIGHT0, GL_POSITION, light_position );
   
    glMaterialfv( GL_FRONT, GL_AMBIENT, mat_ambient );
    glMaterialfv( GL_FRONT, GL_DIFFUSE, mat_diffuse );
    glMaterialfv( GL_FRONT, GL_SPECULAR, mat_specular );
    glMaterialfv( GL_FRONT, GL_SHININESS, high_shininess );
   
    glutMainLoop();
   
    return EXIT_SUCCESS;
}
P-25215
DejaVu
» 2010-12-16 15:15:45
A... wygląda na to, że masz lipny plik GLUT.h - zobacz w źródłach GLUT.h czy da się wstawić jakiegoś #define'a do przykładowego kodu aby wyłączyć deklarowanie typu wymienionego w pierwszym komunikacie błędu.
P-25216
JarekKatowice
Temat założony przez niniejszego użytkownika
» 2010-12-16 15:27:11
żeby nie grzebać w bebechach Gluta może znasz jakieś źródło gdzie pobiore .h, .lib i .dll które będą aktualne i ok?
P-25220
DejaVu
» 2010-12-16 15:35:00
http://januszg.hg.pl/opengl/

Na samym dole strony. Dotyczy to jednak VC++, a nie C::B. Są szanse, że będzie działała paczka VC++ pod C::B.
P-25221
JarekKatowice
Temat założony przez niniejszego użytkownika
» 2010-12-16 15:43:59
ok dzieki wersja beta zadziałała
P-25223
« 1 »
  Strona 1 z 1