На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Qraizer, Hsilgos
  
> visual studio не видит заголовочный файл, хотя он есть , (fatal error C1083: Cannot open include file: 'GL/glut.h': No such file or directory)
    в папке 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 файл! как заставить студию проиндексировать свои папки по-новой?

    помогите плиз, второй день уже мучаюсь :wall:
      Может дело в символе?

      Почему Вы используете символ "/" вместо "\" ?

      Попробовал в 2010 студии, распознается только символ "\".
      ExpandedWrap disabled
        #include "GL\glut.h"
      Сообщение отредактировано: simsergey -
        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 объект. Ее не нужно регистрировать.
          спасибо! у меня зачем-то на компьютере было несколько папок с 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
            А библиотека точно glut.dll Называется? Разве не glut32.dll ? Очень странная ошибка. Мне кажется что проблема как раз в этом. Glut это стороняя библиотека и имеет свою ветку версий. И использует она обычный OGL еще версии 1.2 емнип, по идее с более новыми версиями должна работать нормально. Судя по ошибке dll какая то паленая.
            Попробуй вот хотя бы с вики по ссылкам ( GLUT) скачать заного и проделать процедуру внедрения снова. Либ файл - к либам, хидер - к хидерам, dll - в бинари, либо в системную папку запихнуть. И еще, просто совет, возьми другой компилятор. MSVC6 - это BDSM, одно из самых ужасных поделий микрософта. Возьми на крайний случай GCC, MSVS2003, MSVS2005 от мелкомягких, либо более поздние версии.

            Добавлено
            Еще один момент забыл указать. Так как это 6 студия, то возможно что она не может найти glut32.lib файл, и возможно его нужно будет указать руками дополнительно в опциях проекта, гдето там в Additional libraries(или что то типа этого). Возможно могу ошибатся на этот счет, но все же, мало ли чем микрософт не шутит.
            1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0293 ]   [ 15 queries used ]   [ Generated: 5.07.25, 11:34 GMT ]