Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2011, 18:27   #11
likstalkera
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 44
По умолчанию

Закинул длл в систему либы и библиотеки в нужные папки, подключил их и все равно ошибка
likstalkera вне форума Ответить с цитированием
Старый 30.06.2011, 19:09   #12
Dogmat
Пользователь
 
Регистрация: 12.06.2008
Сообщений: 76
По умолчанию

Это магия!
А исходники посмотреть можно? Целиком... Меня проект интересует.
Dogmat вне форума Ответить с цитированием
Старый 30.06.2011, 19:22   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

библиотеки glut32.lib и opengl32.lib подключили?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.06.2011, 22:26   #14
likstalkera
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Dogmat Посмотреть сообщение
Это магия!
А исходники посмотреть можно? Целиком... Меня проект интересует.
Проект сам создай, там только один файл с кодом

Код:
#include <Windows.h>
#include <gl/GL.h>
#include <gl/glut.h>
#include <math.h>

#pragma comment(lib, "glut32.lib")
#pragma comment(lib, "glut.lib")

GLfloat xRot = -90.0f, yRot = 0.0f, zFactor = 0.48f;
bool check;

void RenderScene(void) {
	GLfloat x, y, z, angle, val, count = 6.0f, factor, deltaAngle = 0.1f, deltaZ = 0.5f;
	GLfloat sizes[2], step, curSize;
	val = (2.0f * 3.1415f) * count;
	factor = deltaZ / deltaAngle;

	glColor3f(1.0f, 1.0f, 0.0f);
	glClear(GL_COLOR_BUFFER_BIT);
	glPushMatrix();
	glRotatef(xRot, 1.0f, 0.0f, 0.0f);
	glRotatef(yRot, 0.0f, 1.0f, 0.0f);
	glGetFloatv(GL_POINT_SIZE_RANGE, sizes);
	glGetFloatv(GL_POINT_SIZE_GRANULARITY, &step);
	curSize = sizes[0];

		z = -3.1415f * count * factor;
		for (angle = 0.0f; angle <=  val; angle += deltaAngle) {
			x = 100.0f * sin(angle);
			y = 100.0f * cos(angle);
			glPointSize(curSize);
			glBegin(GL_POINTS);
				glVertex3f(x, y, z / zFactor);
			glEnd();
			z += deltaZ;
			curSize += (step / 4.0f);
		}

	glPopMatrix();
	glutSwapBuffers();
}

void TimerFunction(int value){

	yRot += 1.0f;
	xRot += 0.5f;

	if (zFactor <= 0.48f)
		check = true;
	if (zFactor >= 3.0f)
		check = false;

	if (check)
		///zFactor += 0.02f;
		zFactor *= 1.1f;
	else
		//zFactor -= 0.25f;
		zFactor /= 1.2f;

	glutPostRedisplay();
	glutTimerFunc(50, TimerFunction, 1);

}

void SetupRC(void) {
	glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
}



void ChangeSize(GLsizei w, GLsizei h) {
	GLfloat nRange = 250.0f;
	if (h == 0)
		h = 1;
	glViewport(0, 0, w, h);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	if (w <= h)
		glOrtho(-nRange, nRange, -nRange * h / w, nRange * h / w, -nRange, nRange);

	else
		glOrtho(-nRange *w /h, nRange * w / h, -nRange, nRange, -nRange, nRange);


	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
}

int main(int argc, char *argv[]) {
	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
	glutCreateWindow("Roof_Force_Spiral_points");
	glutDisplayFunc(RenderScene);
	glutReshapeFunc(ChangeSize);
	glutTimerFunc(50, TimerFunction, 1);
	SetupRC();
	glutMainLoop();
	return EXIT_SUCCESS;
}
likstalkera вне форума Ответить с цитированием
Старый 30.06.2011, 22:45   #15
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

В Visual c++ никогда не работал, но предполагаю, что Вы таки не подключили/не установили правильно библиотеки opengl/glut. Найдите в google как правильно установить/подключить библиотеку opengl/glut для Visual c++
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 30.06.2011, 22:55   #16
Dogmat
Пользователь
 
Регистрация: 12.06.2008
Сообщений: 76
По умолчанию

Я почему просил проект, чтобы посмотреть настройки и проверить каталоги. Ну да ладно.
Если по коду - то:

Код:
#include <Windows.h>
#include <gl/GL.h>
#include <gl/glut.h>  // поменяйте на #include <glut.h>
#include <math.h>

#pragma comment(lib, "glut32.lib")
#pragma comment(lib, "glut.lib")  // это убрать
И еще одно, возвращаясь к третьей строке, если вы заголовочник glut.h поместили в нужные каталоги, как вам писали (каталог C:\ ....... \VisualStudio\VC\include куда-то там), тогда все хорошо, потому что эти каталоги указаны в настройках проекта и будут проверяться на наличие нужных заголовочных файлов. А вот если нет, тогда он его не найдет ни там, ни в папке с проектом, потому что в папке с проектом он его будет искать только в том случае, если вместо <glut.h> вы пишите "glut.h". Я всегда заголовочники держу в папке с проектом, все, кроме тех, которые сразу с IDE идут, или если это всякие SDK - в настройках компилятора указываю дополнительные пути, по которым нужно искать заголовочники в каталогах с SDK.

Вот. Это все, что я подправил, чтобы проект запустился у меня. Надеюсь это поможет.

Последний раз редактировалось Dogmat; 30.06.2011 в 23:05.
Dogmat вне форума Ответить с цитированием
Старый 30.06.2011, 23:03   #17
Dogmat
Пользователь
 
Регистрация: 12.06.2008
Сообщений: 76
По умолчанию

У меня есть SDK от SGI, там даже, кажется, мануал идет какой-то. Давнишних времен, но с тех пор его кажется не обновляли. Где-то вычитал, что Microsoft поставляет с ОС урезаные версии GL, и мол из этого SDK GL будет работать быстрее. Не проверял. Саму opengl32.dll и glu32.dll устанавливать скорее всего не нужно. По крарйней мере в XP они были включены а lib-ы и заголовочники включены в VisualStudio (в 2010 не смотрел, куда им деться). glut достаточно раскидать по нужным каталогам, как писали выше.

Последний раз редактировалось Dogmat; 01.07.2011 в 00:59.
Dogmat вне форума Ответить с цитированием
Старый 01.07.2011, 02:19   #18
An1ka
C++,DirectX/OpenGL
Форумчанин
 
Регистрация: 09.01.2011
Сообщений: 422
По умолчанию

Цитата:
Сообщение от likstalkera Посмотреть сообщение
Опять что то не так... вот что вывело...
В обеих случаях так...

Код:
1>------ Построение начато: проект: 123, Конфигурация: Debug Win32 ------
1>  123.cpp
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutSwapBuffers@0 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glPopMatrix@0 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glEnd@0 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glVertex3f@12 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glBegin@4 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glPointSize@4 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glGetFloatv@8 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glRotatef@16 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glPushMatrix@0 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClear@4 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glColor3f@12 в функции "void __cdecl RenderScene(void)" (?RenderScene@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutTimerFunc@12 в функции "void __cdecl TimerFunction(int)" (?TimerFunction@@YAXH@Z)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutPostRedisplay@0 в функции "void __cdecl TimerFunction(int)" (?TimerFunction@@YAXH@Z)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glClearColor@16 в функции "void __cdecl SetupRC(void)" (?SetupRC@@YAXXZ)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glOrtho@48 в функции "void __cdecl ChangeSize(int,int)" (?ChangeSize@@YAXHH@Z)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glLoadIdentity@0 в функции "void __cdecl ChangeSize(int,int)" (?ChangeSize@@YAXHH@Z)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glMatrixMode@4 в функции "void __cdecl ChangeSize(int,int)" (?ChangeSize@@YAXHH@Z)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ __imp__glViewport@16 в функции "void __cdecl ChangeSize(int,int)" (?ChangeSize@@YAXHH@Z)
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutMainLoop@0 в функции _main
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutReshapeFunc@4 в функции _main
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutDisplayFunc@4 в функции _main
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutCreateWindow@4 в функции _main
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInitDisplayMode@4 в функции _main
1>123.obj : error LNK2019: ссылка на неразрешенный внешний символ _glutInit@8 в функции _main
1>C:\Users\Максим\Documents\Visual Studio 2010\Projects\123\Debug\123.exe : fatal error LNK1120: 24 неразрешенных внешних элементов
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Надо еще подключить:
Код:
#pragma comment(lib, "Opengl32.lib")
An1ka вне форума Ответить с цитированием
Старый 01.07.2011, 10:01   #19
Dogmat
Пользователь
 
Регистрация: 12.06.2008
Сообщений: 76
По умолчанию

Точно )
А у меня сам все находит
Dogmat вне форума Ответить с цитированием
Старый 04.07.2011, 21:04   #20
likstalkera
Пользователь
 
Регистрация: 19.02.2011
Сообщений: 44
По умолчанию

Спасибо огромное...
А делов то было в одной либе...
Кстати, за что отвечает эта библиотека OpenGL132.lib?
likstalkera вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OpenGL bigory Общие вопросы C/C++ 8 24.06.2010 14:26
OpenGL Angel of death Помощь студентам 7 22.06.2010 22:58
OpenGL Paul_AG C++ Builder 20 14.09.2009 19:07
OpenGL Д'якон Компьютерное железо 5 31.01.2009 22:48
OpenGL Witaliy Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 01.05.2008 21:05