Проблемы с кодом в Библии OpenGL 5-е издание - PullRequest
0 голосов
/ 29 мая 2011

Я видел 2 сообщения с таким же вопросом, но одно было в visual studio, а другое не сработало, так что здесь. я пытаюсь скомпилировать первый исходный код, который идет с открывающейся библией 5-го издания ... но я пытаюсь сделать это с помощью code :: blocks ide. я думал, что у меня установлен freeglut правильно (так как я могу запустить программу glut, поставляемую с C :: B), но я получаю множество ошибок от glut и glu ... и после того, как я решил, что исправил эти проблемы, теперь я получаю более 50 ошибок и я понятия не имею, что их вызывает. ошибка выглядит так

obj\Debug\main.o(.text+0x2eb):C:\Users|20|undefined reference to `GLShaderManager::~GLShaderManager()'|

C:\Users\t\main.cpp|27|undefined reference to glViewport @ 16' | '

все ошибки очень похожи, но неопределенная ссылка меняется на другую функцию OpenGL.

любая помощь будет признательна, и просто спросите, нужен ли вам исходный код или больше ошибок.

EDIT
после добавления glu32 к компоновщику он избавился от всех ошибок, связанных с этим но, кажется, проблема с моей установкой freeglut, я получаю ошибку

obj\Debug\main.o(.text+0x1c)||In function `glutInit_ATEXIT_HACK':|

freeglut_std.h|610|undefined reference to `_imp____glutInitWithExit@12'|

obj\Debug\main.o(.text+0x3f)||In function `glutCreateWindow_ATEXIT_HACK':|

freeglut_std.h|612|undefined reference to `_imp____glutCreateWindowWithExit@8'|

obj\Debug\main.o(.text+0x61)||In function `glutCreateMenu_ATEXIT_HACK':|

freeglut_std.h|614|undefined reference to `_imp____glutCreateMenuWithExit@8'|

решена проблема свободного перенасыщения ... мне пришлось использовать разные библиотечные файлы .... я получил их от здесь

Редактировать 2
я уже получил freeglut, работающий с пользовательской библиотекой, которую используемая книга выдает мне ошибку ... я верю, что это потому, что я пытаюсь использовать .lib-файл (как и было), это могло быть источником все мои ошибки ... может ли C :: B ссылаться на файлы .lib или он принимает только файлы .a и .o для библиотеки?

1 Ответ

2 голосов
/ 29 мая 2011

Вы должны добавить подходящие библиотеки для связи с.

Для C :: B,

  • Перейти к проекту
  • Выбрать вариант сборки
  • Выбор компоновщиков
  • Добавление библиотек OpenGL, Glu32 в ваш проект.

Ответ на ваш EDIT:

Выполните следующие действия: http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/glut/

...