
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.52] |
![]() |
|
Сообщ.
#1
,
|
|
|
в папке D:/Microsoft Visual Studio/VC98/Include/GL лежат три файла - GL.H, GLU.H, glut.h
компилятор нормально реагирует на #include "GL/GLU.H" #include "GL/GL.H" но в ответ на #include "GL/glut.h" выдаёт: "fatal error C1083: Cannot open include file: 'GL/glut.h': No such file or directory" поиск по интернету не помогает пробовал даже варианты вроде <GL/glut.h>, <GL/glut>, <glut.h>, <glut>, "glut.h" Файлы GLU.H, GL.H уже были в той папке, а вот glut.h я добавил сам. ОС = Windows XP, среда Microsoft Visual C++ 6.0. проект запускается из директории D:/Microsoft Visual Studio/MyProjects/3 Не знаю, имеет ли какое-то отношение к делу, но остальные части инструкции по установке OpenGL я сделал - glut.dll и glut32.dll добавил в windows/system32 и прописал в project->settings->link, а glut.lib и glut32.lib добавил в D:/Microsoft Visual Studio/VC98/Lib Правда, при регистрации "regsrv32 glut32.dll" выдаёт ошибку "glut32.dll была загружена, но найти точку входа для DllRegisterServer не удалось", а при регистрации "regsrv32 glut.dll" выдаёт ошибку "ошибка при вызове LoadLibrary ("glut.dll") - не найден указанный модуль". драйвера видеокарты поддерживают только OpenGL 1.4, а я устанавливаю dll/lib/h версии 3.7 - возможно отсюда ошибка DllRegisterServer, но не должно ведь это всё влиять на то, чтобы студия просто нашла .h файл! как заставить студию проиндексировать свои папки по-новой? помогите плиз, второй день уже мучаюсь ![]() |
Сообщ.
#2
,
|
|
|
Может дело в символе?
Почему Вы используете символ "/" вместо "\" ? Попробовал в 2010 студии, распознается только символ "\". ![]() ![]() #include "GL\glut.h" |
Сообщ.
#3
,
|
|
|
glut.h - это не стандартный файл OpenGL библиотеки. По идее с ним идут GLut32.lib, glut32.dll, glut.h.
Не обязательно скидывать этот файл куда то в системную папку. Достаточно чтобы IDE Знала куда вы его поместили. Пути к заголовочный файлам настраиваются обычно в Tools->Options->Project and Solution -> Directories. Именно там поглядите путь к папкам с подключаемыми файлами. Возможно что вы не туда его положили. Можете распаковать glut бибилиотеку и в студии прописать пути к этой папке. Пока что судя по всему, мне кажется что вы не туда поскидывали заголовочный файл. Возможно это какая то резервная папка или папка от другого компиля. А насчет #include "GL/glut.h", данная конструкция подразумевает что поиск сначало будет производится из текущего каталога проекта. Т.е. в вашем случае правильным будет указывать #include <GL/glut.h> Добавлено Цитата sersheg @ ОС = Windows XP, среда Microsoft Visual C++ 6.0. Попробуйте следующее: Распакуйте вашу glut библиотеку куданибудь в D:\OpenGLTools\glut32 Там будет три файла: glut32.h, glut32.lib, glut32.dll Открываете студию -> Tools -> Options -> Directories: Далее для Include files и Library files указываете путь к заголовочному и либ файлу(D:\OpenGLTools\glut32\include, D:\OpenGLTools\glut32\lib соответственно, или где они там лежат). Ну а саму dll можете скинуть в system32. Подключать просто #include <glut32.h> (или как там хидер называется). Цитата sersheg @ Правда, при регистрации "regsrv32 glut32.dll" выдаёт ошибку "glut32.dll была загружена, но найти точку входа для DllRegisterServer не удалось", а при регистрации "regsrv32 glut.dll" выдаёт ошибку "ошибка при вызове LoadLibrary ("glut.dll") - не найден указанный модуль". А это не COM объект. Ее не нужно регистрировать. |
Сообщ.
#4
,
|
|
|
спасибо! у меня зачем-то на компьютере было несколько папок с Visual Studio, и когда я залез в tools=>options=>directories, то понял, что Visual Studio настроен на работу не с той папкой, которой я думал...
Но теперь ему не нравится glut.dll: Linking... C:\WINDOWS\SYSTEM32\glut.dll : fatal error LNK1136: invalid or corrupt file Может ли такое быть потому, что моя видеокарта поддерживает максимум 1.4 версию OpenGL, а .dll я пробовал из версий 3.6, 3.7? а если да, то где можно найти glut.dll для версии 1.4? пробовал установить freeglut, но и он тоже выдаёт такую ошибку (видимо, и ему нужен glut.dll?) ОС=Windows XP, среда Microsoft Visual Studio 6.0 |
Сообщ.
#5
,
|
|
|
А библиотека точно glut.dll Называется? Разве не glut32.dll ? Очень странная ошибка. Мне кажется что проблема как раз в этом. Glut это стороняя библиотека и имеет свою ветку версий. И использует она обычный OGL еще версии 1.2 емнип, по идее с более новыми версиями должна работать нормально. Судя по ошибке dll какая то паленая.
Попробуй вот хотя бы с вики по ссылкам ( GLUT) скачать заного и проделать процедуру внедрения снова. Либ файл - к либам, хидер - к хидерам, dll - в бинари, либо в системную папку запихнуть. И еще, просто совет, возьми другой компилятор. MSVC6 - это BDSM, одно из самых ужасных поделий микрософта. Возьми на крайний случай GCC, MSVS2003, MSVS2005 от мелкомягких, либо более поздние версии. Добавлено Еще один момент забыл указать. Так как это 6 студия, то возможно что она не может найти glut32.lib файл, и возможно его нужно будет указать руками дополнительно в опциях проекта, гдето там в Additional libraries(или что то типа этого). Возможно могу ошибатся на этот счет, но все же, мало ли чем микрософт не шутит. |