Форум программистов, компьютерный форум, киберфорум
Наши страницы
OpenGL
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 122, средняя оценка - 4.89
MuDMaN
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
#1

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

14.02.2011, 20:52. Просмотров 15533. Ответов 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)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.02.2011, 20:52
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как сделать первый шаг в изучении OpenGL (glut)? (OpenGL):

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

Как поставить OpenGL(glut) на Dev-C++?
Как поставить, вернее как правильно поставить OpenGL(glut) на Dev-C++? На MS...

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

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

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

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

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

Решение

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
MuDMaN
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
14.02.2011, 21:15  [ТС] #3
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
asics
Freelance
Эксперт С++
2854 / 1789 / 355
Регистрация: 09.09.2010
Сообщений: 3,841
14.02.2011, 21:22 #4
MuDMaN, Ты походу создал не пустой проект, а надо пустой, без всяких stdafx.h
1
MuDMaN
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
14.02.2011, 23:52  [ТС] #5
Спасибо. Все работает.
0
MuDMaN
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
16.02.2011, 13:43  [ТС] #6
А как создать не консольный проект? Что бы он компилировался также как и консольный но без консоли.

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

Не могу найти закладку LINK
Где она в MSVC++?
0
MuDMaN
3 / 3 / 0
Регистрация: 14.02.2011
Сообщений: 55
17.02.2011, 18:01  [ТС] #7
Разобрался сам в Dev-Cpp.
там опции компилятора и линковщика надо правильно выставить.
0
chelovek7114
4 / 4 / 2
Регистрация: 30.09.2012
Сообщений: 35
24.12.2012, 22:10 #8
Здравствуйте.
Скачал тут всё что нужно, разложил по папкам
Цитата Сообщение от 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 / 1
Регистрация: 26.11.2012
Сообщений: 110
Записей в блоге: 2
25.12.2012, 22:37 #9
Надой фал библиотеки или подключить
C++
1
#pragma comment (lib, "glut32.lib")
Или в настройках проекта

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

Кликните здесь для просмотра всего текста
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 #13
Ошибка явно на почве - int main(...) vs int CALLBACK WinMain(...)
1
Tit_Vlad
0 / 0 / 0
Регистрация: 18.03.2013
Сообщений: 28
30.03.2013, 18:03 #14
Здравствуйте. я создал проект, сделал все как здесь написано, но у меня постоянно при первом компилировании после каких-либо изменений в проекте выскакивают 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
30.03.2013, 18:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2013, 18:03
Привет! Вот еще темы с решениями:

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

OpenGL, Glut
#include &quot;stdafx.h&quot; #include &lt;cstdlib&gt; #include &lt;GL/glut.h&gt; const int...

3d текстура. OpenGL, glut
Доброго времени суток! Интересует такой вопрос. Возможно ли каким-то образом...

OpenGL, библиотека glut
Уважаемые программисты где скачать библиотеку OpenGL? glut.h


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru