Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
tofast45rus
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 14
#1

Ошибка при компиляции OpenGl Игры - C++

02.01.2014, 04:46. Просмотров 391. Ответов 5
Метки нет (Все метки)

Делаю игру по туториалу. Вот код игры:

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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <glut.h>
#include <stdlib.h>
 
using namespace std;
 
class snake{
public:
    char direction;
    char fdirection;
    snake(){
        char direction = 'd';
        char fdirection = 'a';
    }
}player;
 
 
class block{
public:
    int x;
    int y;
}snake[10];
 
 
 
 
void repos(){
    for(int i = 9; i >=1; i--){
        snake[i].x = snake[i-1].x;
        snake[i].y = snake[i-1].y;
    }
    switch (player.direction){
    case 'w' :
        snake[0].y += 10;
        break;
    case 'a' :
        snake[0].x -= 10;
        break;
    case 's' :
        snake[0].y -= 10;
        break;
    case 'd' :
        snake[0].x += 10;
        break;
    }
 
}
 
 
 
 
void keyboard (unsigned char key, int x, int y){
    switch(key){
    case 'w'  :
        if(player.fdirection != 's')player.direction = 'w';
        break;
    case 'a'  :
        if(player.fdirection != 'd')player.direction = 'a';
        break;
    case 's'  :
        if(player.fdirection != 'w')player.direction = 's';
        break;
    case 'd'  :
        if(player.fdirection != 'a')player.direction = 'd';
        break;
    default :
        break;
    }
    player.fdirection = player.direction;
    }
 
 
 
 
void Timer(int value){
    repos();
    glutPostRedisplay();
    glutTimerFunc(100, Timer, 0);
}
 
 
 
void draw() {
    glClear(GL_COLOR_BUFFER_BIT);
    glPushMatrix();
    glBegin(GL_QUADS);
    for( int i = 0; i<10; i++){
        glColor3f(0,1,0);
        glVertex2f(snake[i].x,snake[i].y);
        glVertex2f(snake[i].x + 10,snake[i].y);
        glVertex2f(snake[i].x + 10,snake[i].y + 10);
        glVertex2f(snake[i].x,snake[i].y + 10);
    }
    glEnd();
    glPopMatrix();
    glutSwapBuffers();
}
 
 
 
 
void Initialization(){
    glClearColor(0.1,0.3,0.5,1.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glOrtho(-400,400,-250,250,-200.0,200.0);
}
 
 
 
 
int main(int argc, char ** argv){
    for(int i = 0; i < 10; i++){
        snake[i].x = 50 - 10*i;
        snake[i].y = 0;
    }
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
    glutInitWindowSize(800, 500);
    glutInitWindowPosition(180, 150);
    glutCreateWindow("SnakeGame");
    glutDisplayFunc(draw);
    glutTimerFunc(100, Timer, 0);
    glutKeyboardFunc(keyboard);
    Initialization();
    glutMainLoop();
    system("PAUSE >> NULL");
    return(0);
 
}
А вот ошибка при компиляции:
1>------ Построение начато: проект: Snake[OpenGL], Конфигурация: Debug Win32 ------
1>Построение начато 02.01.2014 4:42:46.
1>InitializeBuildStatus:
1> Обращение к "Debug\Snake[OpenGL].unsuccessfulbuild".
1>ClCompile:
1> main.cpp
1>c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdlib.h(360): error C2381: exit: переопределение; __declspec(noreturn) отличается
1> c:\users\nintendo\documents\visual studio 2012\projects\glut-3.7.6-bin\glut.h(146): см. объявление "exit"
1>
1>Сбой построения.
1>
1>Затраченное время: 00:00:00.51
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========


Может попробывать скомпилировать в релиз версии? Что нибудь изменится?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2014, 04:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка при компиляции OpenGl Игры (C++):

OpenGL ошибка при компиляции - C++
Добрый вечер! Пользуюсь CodeBlocks. Есть вот такая вот программка, которая должна нарисовать точку. int main(int argc, char...

Ошибка компиляции С++, OpenGL - C++
Здравствуйте. Начали учить в университете OpenGL. Вот попытался сделать по примеру но при компиляции пишет &quot;There were build errors.Would...

Ошибки компиляции при работе с OpenGL - C++
Какую библиотеку нужно подключить и что нужно сделать, чтобы заработало: 1&gt;------ Построение начато: проект: 1, Конфигурация: Debug...

Ошибка при компиляции. Где ошибка? (Работа с классом) - C++
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to `MeterNZiF::MeterNZiF()' &quot; на 7 строку приложения. ...

Ошибка памяти при выполнении, при компиляции не выводит ошибки - C++
ПОмогите плс программа вводит строку символов до точки, а после вычисляет процент согласных в этой строке и выводит их в обратном порядке....

Не является внутренней или внешней командой - ошибка не при компиляции а при работе программы - C++
В VS скомпилировал код #include &lt;iostream&gt; using namespace std; int main() { int a; cout&lt;&lt;&quot;Hallo&quot;; cin&gt;&gt;a; cout&lt;&lt;a; ...

5
zvoronz
271 / 239 / 21
Регистрация: 29.05.2012
Сообщений: 889
02.01.2014, 04:53 #2
Попробуй убрать using namespec std; а system("pause") и остальные команды из пространства имен std вызывай через спецификатор std::system("pause") и т.п.
0
tofast45rus
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 14
02.01.2014, 04:58  [ТС] #3
Нашел решение;
Сначала думал не поможет, но нужно было поменять местами строчки
C++
1
2
#include <glut.h>
#include <stdlib.h>
Что бы было так
C++
1
2
#include <stdlib.h>
#include <glut.h>
Спасибо что помогаете
0
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
02.01.2014, 10:52 #4
tofast45rus, вот скажи, у тебя окно создается быстро? У меня на это (даже если оно пустое) уходит ~2 секунды..
0
zvoronz
271 / 239 / 21
Регистрация: 29.05.2012
Сообщений: 889
02.01.2014, 13:24 #5
Что за туториал, дайте ссылку.
0
tofast45rus
0 / 0 / 0
Регистрация: 29.12.2013
Сообщений: 14
03.01.2014, 02:42  [ТС] #6
Цитата Сообщение от nexen Посмотреть сообщение
tofast45rus, вот скажи, у тебя окно создается быстро? У меня на это (даже если оно пустое) уходит ~2 секунды..
У меня тоже.

zvoronz - Вот туториал https://www.youtube.com/watch?v=2h1EDuxbM_I
0
03.01.2014, 02:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2014, 02:42
Привет! Вот еще темы с ответами:

Использование шаблонов при наследовании, ошибка при компиляции - C++
При изучении списков написал шаблон протестировал, все работает. После написал класс наследник от шаблона List.h, компилятор выдает...

При компиляции ошибка. Ошибка c++ C2678 - C++
Ошибка c++ C2678 #include &lt;windows.h&gt; #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;fstream&gt; #include...

Ошибка при компиляции - C++
Подскажите пожалуйста из-за чего выходит эта ошибка при компиляции программы Unresolved external 'min(const int *, const int)'...

Ошибка при компиляции - C++
Пишу первую игру на c++ в vs 2013. Появилась такая проблема. Есть 4 файла: main.cpp #include &lt;SFML\Graphics.hpp&gt; #include...


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

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

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