Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/86: Рейтинг темы: голосов - 86, средняя оценка - 4.77
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55

Как сделать первый шаг в изучении OpenGL (glut)?

14.02.2011, 20:52. Показов 17524. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть желание научится писать простые игры: Арканоид/змейка/тетрис/etc. С использованием OpenGL.
Нашол уроки с использованием glut. Пытался скомпилировать в Dev-C++, MinGW, VC++. Предварительно скачав архив, там были такие файлы README-win32.txt glut32.lib glut32.dll glut.h glut.def.

README-win32.txt и glut.def удалил.
glut32.lib скинул в папку lib у каждого из компиляторов (што-то типа С:\Dev-Cpp\lib)
glut32.dll скинул в папку C:\WINDOWS\system32 и C:\WINDOWS\system
glut.h скинул в папку include и include\GL каждого из компиляторов (што-то типа С:\Dev-Cpp\include и С:\Dev-Cpp\include\GL)

Но при компиляции в вкладке Link много сообщений об ошибках такого типа:
c:\projects\c++\devtest\main.o(text+0x17 ):main.cpp: undefined reference to '__glutInitWithExit'


Вопрос:
Как сделать первый шаг в изучении OpenGL (glut)?
И что я сделал не так?

P.S. Нужно ли приводить пример того что я пытался скомпилировать?

Добавлено через 22 минуты
ОС: Windows XP

пробовал ставить freeglut те же ошибки
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.02.2011, 20:52
Ответы с готовыми решениями:

Как поставить OpenGL(glut) на Dev-C++?
Как поставить, вернее как правильно поставить OpenGL(glut) на Dev-C++? На MS Visual C++ Ставил норм, на деве не могу объясните, пожалуйста!

OpenGL - как разобраться с версиями glut
В заголовке темы нельзя оказывается совмещать русские и английские буквы, да еще и не все слова можно применять - позабавило :D С...

Как рисовать текстуру и квадрат (GLUT и OpenGL)
Я хочу нарисовать текстуру и квадрат, но цвета не корректно отображаются. Если я удаляю Таймер, цвет отображается правильно. ...

13
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
14.02.2011, 20:59
Лучший ответ Сообщение было отмечено как решение

Решение

MuDMaN, Розкажу тебе как делал я(cреда - MSVS):
1)Качаешь сам glut(тут).
2).h файлы кидаеш в папку з инклюдами(include), .dll файлы - в system32 и .lib файлы - в папку lib.
3)Создаеш пустой консольный проект, в Project -> Properties -> C/C++ -> Comand Line -> Additional Options пишешь следующие
Cuted
glut32.lib
OPENGL32.lib glu32.lib /entry:"mainCRTStartup
.
4)Пример кода
Cuted
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <GL/glut.h>
void display()
{
     glClear(GL_COLOR_BUFFER_BIT);
     glBegin(GL_LINES);
     glColor3f(1.0, 0.0, 0.0);
     glVertex2f(0.25, 0.25);
     glVertex2f(0.75, 0.75);
     glColor3f(0.0, 1.0, 0.0);
     glVertex2f(0.75, 0.25);
     glVertex2f(0.25, 0.75);
     glColor3f(0.0, 0.0, 1.0);
     glVertex2f(0.50, 0.25);
     glVertex2f(0.50, 0.75);
     glEnd();
     glFlush();
}
 
int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(240, 240);
    glutInitWindowPosition(500, 400);
    glutCreateWindow("Test");
    glClearColor(1.0, 1.0, 1.0, 1.0);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);
    glutDisplayFunc(display);
    glutMainLoop();
}
8
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
14.02.2011, 21:15  [ТС]
asics
сделал как ти написал но в output
Ошибки
"1>------ Build started: Project: TEST, Configuration: Debug Win32 ------ 1>cl : Command line warning D9002: ignoring unknown option '/entry:mainCRTStartup' 1> glu32.lib 1>c1xx : fatal error C1083: Cannot open source file: 'glu32.lib': No such file or directory 1> OPENGL32.lib 1>c1xx : fatal error C1083: Cannot open source file: 'OPENGL32.lib': No such file or directory 1> glut32.lib 1>c1xx : fatal error C1083: Cannot open source file: 'glut32.lib': No such file or directory 1> stdafx.cpp ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped =========="
0
Freelance
Эксперт С++
 Аватар для asics
2891 / 1826 / 356
Регистрация: 09.09.2010
Сообщений: 3,841
14.02.2011, 21:22
MuDMaN, Ты походу создал не пустой проект, а надо пустой, без всяких stdafx.h
1
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
14.02.2011, 23:52  [ТС]
Спасибо. Все работает.
0
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
16.02.2011, 13:43  [ТС]
А как создать не консольный проект? Что бы он компилировался также как и консольный но без консоли.

Добавлено через 1 час 39 минут
После создания нового Win32 приложения (НЕ КОНСОЛЬНОГО) в Visual C++, Вам надо будет добавить для сборки проекта библиотеки OpenGL. В меню Project/setting, выберите закладку LINK. В строке "Object/Library Modules" добавьте "OpenGL32.lib GLu32.lib GLaux.lib". Затем нажмите OK. Теперь все готово для создания программы на OpenGL.

Не могу найти закладку LINK
Где она в MSVC++?
0
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
17.02.2011, 18:01  [ТС]
Разобрался сам в Dev-Cpp.
там опции компилятора и линковщика надо правильно выставить.
0
4 / 4 / 2
Регистрация: 30.09.2012
Сообщений: 35
24.12.2012, 22:10
Здравствуйте.
Скачал тут всё что нужно, разложил по папкам
Цитата Сообщение от asics Посмотреть сообщение
1)Качаешь сам glut(тут).
Всё сделал как написано, пишу на MVS2010, выдаёт следующие ошибки:

Кликните здесь для просмотра всего текста
Обращение к "Debug\lesson1.unsuccessfulbuild".
1>cl : командная строка warning D9002: пропуск неизвестного параметра "/entry:mainCRTStartup "
1> glu32.lib
1>c1xx : fatal error C1083: Не удается открыть файл источник: glu32.lib: No such file or directory
1> OPENGL32.lib
1>c1xx : fatal error C1083: Не удается открыть файл источник: OPENGL32.lib: No such file or directory
1> glut32.lib
1>c1xx : fatal error C1083: Не удается открыть файл источник: glut32.lib: No such file or directory
1> lesson1.cpp
1> Создание кода...
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:00.47
========== Перестроение всех: успешно: 0, с ошибками: 1, пропущено: 0 ==========


Заранее спасибо)
0
 Аватар для MaRKerNSK
24 / 11 / 0
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 8
25.12.2012, 22:37
Надой фал библиотеки или подключить
C++
1
#pragma comment (lib, "glut32.lib")
Или в настройках проекта

Добавлено через 1 минуту
или ты не скопиравал файлы библиотеки куда надо(которые он найти не может))
1
4 / 4 / 2
Регистрация: 30.09.2012
Сообщений: 35
25.12.2012, 22:59
Подключил #pragma comment на все lib, файлы я точно скопировал, даже в 3 места (все папки с названием lib)
Нужно как-то настроить проект, чтобы он их увидел, выше предлагалось в командную строку ввести, но у меня не понимает, что значит "/entry:mainCRTStartup ".
Цитата Сообщение от chelovek7114 Посмотреть сообщение
командная строка warning D9002: пропуск неизвестного параметра "/entry:mainCRTStartup "
Как можно настроить? Может ссылку на статейку...
0
 Аватар для MaRKerNSK
24 / 11 / 0
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 8
26.12.2012, 00:31
НУ в VS 2010 с открытым проектом Alt+F7 -> свойства конфигурации -> компоновщик -> ввод -> дополнительные зависимости в конец дописываешь либы перед %(AdditionalDependencies), в конце имени Либы ставь ; вот и вся настрйока)
1
4 / 4 / 2
Регистрация: 30.09.2012
Сообщений: 35
26.12.2012, 01:11
После того как добавил все библиотеки ничего не изменилось, так как будто бы не делал.

Кликните здесь для просмотра всего текста
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: ссылка на неразрешенный внешний символ _WinMain@16 в функции ___tmainCRTStartup
1>C:\AltSTU\OpenGL\lesson1\Debug\lesson1 .exe : fatal error LNK1120: 1 неразрешенных внешних элементов
0
Ах ты! All we Astronautы
 Аватар для Ух ты!
121 / 98 / 1
Регистрация: 20.10.2012
Сообщений: 373
Записей в блоге: 2
26.12.2012, 22:41
Ошибка явно на почве - int main(...) vs int CALLBACK WinMain(...)
1
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 28
30.03.2013, 18:03
Здравствуйте. я создал проект, сделал все как здесь написано, но у меня постоянно при первом компилировании после каких-либо изменений в проекте выскакивают 3 ошибки, компилю еще раз(запускаю) и все открывается и работает правильно. Но стоит поставить пробел и стереть, как снова нужно 2 раза компилить... Так должно быть? Или нужно что-то где-то поправить?
Ошибки: fatal error C1083: Cannot open source file: 'glu32.lib': No such file or directory
1>OPENGL32.lib
1>c1xx : fatal error C1083: Cannot open source file: 'OPENGL32.lib': No such file or directory
1>glut32.lib
1>c1xx : fatal error C1083: Cannot open source file: 'glut32.lib': No such file or directory

Вижуал 2008.
И еще, glut32.dll я добавлял в папку с проектом(к екзешнику), по-другому ее не воспринимало.

Подскажите что делать чтобы не компилить проект по 2 раза.
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2013, 18:03
Помогаю со студенческими работами здесь

Как вывести текст с использованием GLUT или OpenGL
Как вывести текст с использованием GLUT или OpenGL в окно, созданое с помощью glutCreateWindow()?

OpenGL - VS2008 Инициализация OpenGL (Glut)
Правильно ли я написал код для выведения 3d изображения на экран? Вот пару недель наверно искал метод - можно ли окно как то создать без...

OpenGL недостатки по библиотекам (GLUT, GLAUX) Где скачать, как подключить, как работать в среде Visual Studio
Решил проверить как работают эти библиотеки дабы понять разницу работы без них. Также обнаружил, что в поиске нет нормальной статьи где...

C++ и opengl(glut)
Всем доброго времени суток, решил разобраться с opengl на с++, пользую ms express c++ 2010, установил glut, написал следующий код: ...

OpenGL, Glut
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;GL/glut.h&gt; const int SER_COUNT = 240; int r() { int r = 0; for (int i =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru