PMG

Форумы по созданию игр
Текущее время: 29 мар 2024 01:59

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Помогите GLUT32
СообщениеДобавлено: 08 май 2008 13:07 
Не в сети
Новичок

Зарегистрирован: 08 май 2008 12:58
Сообщения: 2
Здравствуйте! Не могли ли вы помочь решить вот такую задачку мне:

в VC++ Не компилируется проект с использованием GLUT..
Я начал Учить ОПЕНГЛ.. купил книгу, но там рассказано про какие-то мэйк файлы, для компиляции.

Я подключил GLUT.h ... Нот там были какие-то GLUT.lib и GLUT.DLL
Для чего они??

Вот такие ошибки выдает программа.
1>------ Build started: Project: OPENGL Init, Configuration: Debug Win32 ------
1>Linking...
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>C:\программирование\OpenGL\Инитка ОпенГЛ с++\Запускаем! ОпенГЛ\Debug\OPENGL Init.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://c:\программирование\OpenGL\Инитка ОпенГЛ с++\Запускаем! ОпенГЛ\Debug\BuildLog.htm"
1>OPENGL Init - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Код:
//
// Печатает инфу про опенГЛ карту и драйвер
// показывает все доступные экстенции.

#ifdef    _WIN32
  #include <windows.h>
#endif

#include <GL/gl.h>
//#include "GLfiles\glut.h"

//#include "GLfiles\glext.h"
#include <GL/glut.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

//Declaration
void InitGL();
void GlDisplay();
void Reshape( int w, int h );
void On_Key_Press( unsigned char key, int x, int y );
void PrintExtList( const char* extention );

bool IsExtentionSupported( const char* ext );

//Begin
int main( int argc, char* argv[])
{
   //Initialize GLUT
   glutInit( &argc, argv );
   glutInitDisplayMode( GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH );
   glutInitWindowSize( 400, 400 );

   int win = glutCreateWindow( "OpenGL Window Example" );
   //Register handlers
   glutDisplayFunc(  GlDisplay    );
   glutReshapeFunc(  Reshape      );
   glutKeyboardFunc( On_Key_Press );

   InitGL();
   const char* Vendor    = ( const char* )glGetString(GL_VENDOR      );
   const char* Renderer  = ( const char* )glGetString(GL_RENDERER    );
   const char* Version   = ( const char* )glGetString(GL_VERSION     );
   const char* Extention = ( const char* )glGetString(GL_EXTENSIONS  );
   
   printf( "Vendor: %s\nRenderer: %s\nVersion: %s\n", Vendor, Renderer, Version );

   if ( argc < 2 )
      PrintExtList( Extention );
   else
      for ( int i = 1; i < argc; i++ )
         if ( IsExtentionSupported( argv[i] ) )
            printf( "%-40s - supported\n", argv[i] );
         else
            printf("%-40s - NOT supported\n", argv[i] );
   return 0;

}


void InitGL()
{
glClearColor( 0.0, 0.0, 0.0, 1.0 );
glEnable( GL_DEPTH_TEST );

}
void GlDisplay()
{
   glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
   glutSwapBuffers();
}

void Reshape( int w, int h )
{
   glViewport( 0, 0, (GLsizei)w, (GLsizei)h );
   glMatrixMode( GL_PROJECTION );
   glLoadIdentity();
   glMatrixMode( GL_MODELVIEW );
   glLoadIdentity();
}



void On_Key_Press( unsigned char key, int x, int y )
{
  if ( key == 27  || key == 'q' || key == 'Q' )
     exit(0);
}

void PrintExtList( const char* extention )
{
 
  char Name[1024];
  printf( "Supported extensions:\n" );
  unsigned int j;
 
  for( int i = 0, j = 0; extention[i] != '\0'; i++ )
     if ( isspace( extention[i] ) )
         Name[j++] = extention[i];
     else
     {
        Name[j] = '\0';
        printf( "\t%s\n", Name );          
         j = 0;
     }

     if ( j > 0 )
     {
        Name[j] = '\0';
         printf( "\t%s\n", Name );
     }
}

bool IsExtentionSupported( const char* ext )
{
      const char * extensions = (const char *)glGetString ( GL_EXTENSIONS );
   const char * start      = extensions;
   const char * ptr;

   while ( ( ptr = strstr ( start, ext ) ) != NULL )
   {
                                 // we've found, ensure name is exactly ext
      const char * end = ptr + strlen ( ext );

      if ( isspace ( *end ) || *end == '\0' )
         return true;

      start = end;
   }

   return false;

}



Если нужна более подробная информация обращайтесь


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите GLUT32
СообщениеДобавлено: 10 май 2008 01:43 
Не в сети
Новичок

Зарегистрирован: 08 май 2008 12:58
Сообщения: 2
:) Ура, сделал, создал не вин32 апликатион, а вин16(консольное) и библиотеки в винду запихал.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB