Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > [OpenGL] Catch-all error message


Автор: modeusdark 12.5.2009, 09:39
Прошу помощи. Я новичек в OpenGL. Программирую на CBuilder. Проблема в этой программе:
Код

#include <windows.h>
#include <GL/opengl.h>
#include <GL/glut.h>

//---------------------------------------------------------------------------

#pragma argsused
void RenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}

void SetupRC(void)
{
glClearColor(0.0f,0.0f,1.0f,1.0f);
}
void main(void)
{
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//здесь показывает ошибку
glutCreateWindow("Simple");
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
}
//---------------------------------------------------------------------------

Пишет ошибку компилятора
Код

This is a catch-all error message when the compiler parses an expression and encounters a serious error.

Кто сможет - помогите, пожалуйста.


M
Alexeis
Модератор: читайте правила. На первый раз переименовал тему, в следующий раз закрою.

Автор: artsb 12.5.2009, 10:02
Я не спец в openGL, но вы забыли инициализировать его:
Код

void main(int argc,char** argv) 
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//здесь показывает ошибку
glutCreateWindow("Simple");
glutDisplayFunc(RenderScene);
SetupRC();
glutMainLoop();
}

как-то так...

Автор: Alexeis 12.5.2009, 11:31
Говорят что эта ошибка может быть вызвана кодом выше. Проверьте используете ли вы правильный glut.
Родного glut в билдере нет, там есть gl.h (вместо opengl.h), glaux.h, glu.h

Добавлено через 22 секунды
P.S. какая версия билдера.

Автор: modeusdark 12.5.2009, 18:17
Использую Borland C++ Builder 6. Фаилы, которые шли в комплекте с программой не заменял.

Автор: artsb 12.5.2009, 20:13
modeusdark, так вы инициализацию выполнили?

Автор: Alexeis 12.5.2009, 20:24
Попробуйте обновить glut. Вот тут есть описание чего и как делать http://pmg.org.ru/nehe/ogl_builder01.htm
Цитата(http://pmg.org.ru/nehe/ogl_builder01.htm)

Кому очень нужен GLUT:
 На http://www.xmission.com/~nate/opengl.html находится самая последняя версия GLUT 3.6.7, первоначально написанная ее создателем Mark’ом Kilgard’ом (так же смотри в архиве в конце статьи). Берем из bin-архива glut32.dll и далее используем команду implib.exe glut32.lib glut32.dll. Следует положить glut32.dll в WindowsRoot\system32, glut.h в $(BCB)\include\gl и glut32.lib в $(BCB)\lib. Разумеется, в опциях проекта, использующего GLUT, в Library path должна быть указана папка $(BCB)\lib, а в Include path – папка $(BCB)\include. Дополнительная информация на http://www.opengl.org/. Как работать с GLUT, можно узнать по оригинальной документации  http://www.opengl.org/documentation/specs/glut/spec3/spec3.html или, для желающих, PDF http://www.biometricscatalog.org/DocumentMgr/ViewDocument.aspx?pk=b774e420-3bc8-4e42-aaff-b6e12d2427a0, и из книги И. Тарасова http://opengl.org.ru (так же смотри в архиве в конце статьи). Там же много примеров, но  под VC. Хорошим упражнением для «строителей» будет переписать их под BCB.

Автор: modeusdark 12.5.2009, 20:41
artsb, по сути ничего не поменялось.

Alexeis, у меня он же.

Автор: artsb 12.5.2009, 22:05
Цитата(modeusdark @  12.5.2009,  20:41 Найти цитируемый пост)
по сути ничего не поменялось.

Хм... А ошибки те же остались? Код, приведённый выше, весь? Или ещё что-то есть? Правильно ли вы распихали lib'ы и h'ки?

Автор: modeusdark 13.5.2009, 00:07
Все подключил согласно инструкции. Все Lib и dll закинул. 

Автор: artsb 13.5.2009, 10:52
modeusdark, тогда может дашь проект. Я его у себя попробую скомпилить. Если он не секретный конечно smile

Автор: modeusdark 13.5.2009, 23:32
вот фаил

Автор: artsb 14.5.2009, 10:35
modeusdark, переделал так как написано по ссылке данной Alexeis. Всё работает. Появилось окошко с синим фоном.

Автор: artsb 14.5.2009, 11:19
modeusdark, вот архив с dll, lib, проектом и инструкцией. Тем не менее, лучше почитать статью по ссылке Alexeis.  smile 

Автор: Alexeis 14.5.2009, 11:43
  Возможно используются либы от М$. Для билдера нужно делать свои либы прогой implib

Автор: artsb 14.5.2009, 12:32
Цитата(Alexeis @  14.5.2009,  11:43 Найти цитируемый пост)
Возможно используются либы от М$. 

Так оно и есть.
Цитата(Alexeis @  14.5.2009,  11:43 Найти цитируемый пост)
Для билдера нужно делать свои либы прогой implib 

Уже в архиве.

Автор: modeusdark 15.5.2009, 00:29
artsb, большое спасибо. Все работает.

Автор: artsb 15.5.2009, 00:39
Цитата(modeusdark @  15.5.2009,  00:29 Найти цитируемый пост)
artsb, большое спасибо. Все работает. 

Да пожалуйста. Можно и с занесением в репу ;)

Автор: modeusdark 15.5.2009, 18:13
когда 100 постов внесу - подниму=) 

Автор: artsb 15.5.2009, 18:57
Цитата(modeusdark @  15.5.2009,  18:13 Найти цитируемый пост)
подниму=)  

Alexeis тебе помог  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)