Новичок пытается скомпилировать: что-то не было объявлено в этой области

#c #opengl #compiler-construction #glut

#c #opengl #компилятор-построение #перенасыщение

Вопрос:

Я пытаюсь скомпилировать эту программу:

http://tfc.duke.free.fr/coding/src/md2loader.zip

Я использую g -c Main.cpp , но я получаю несколько ошибок типа :

Main.cpp:776: ошибка: ‘glutSpecialFunc’ не был объявлен в этой области

Есть идеи?

Комментарии:

1. Не размещайте просто ссылку на .zip. Опубликуйте какой-нибудь фактический код, который не работает.

2. Не без перехода на внешний веб-сайт, загрузки файла, его распаковки и изучения содержимого.

3. @Mahesh: Эти проблемы могут вызвать неустранимую ошибку (включенный файл не найден). Его ошибка указывала на то, что не было предпринято попытки включить файл заголовка.

4. @Бен Фойгт — Точно. Моя ошибка.

5. @user248959 Пожалуйста, примите предоставленный ответ.

Ответ №1:

Вы упускаете

 #include <GL/glut.h>
  

или

 #include <openglut.h>
  

Документация для glutSpecialFunction сообщает вам об этом.

Комментарии:

1. Но там написано #include <GL/glut.h> в Main.cpp. И этот файл находится в root_of_project/include/GL/glut.h.

2. @user: Какой дистрибутив GLUT вы используете? Согласно документации, которую я нашел (и на которую ссылается), вам нужно #include <openglut.h> .

3. Я погуглил «загрузка openglut.h», и там нет информации. Вы уверены, что имеете в виду openglut.h?

4. @user: Вы читали связанную справочную страницу ?

Ответ №2:

Я быстро взглянул на zip-файл, который вы связали.

Почему вы не используете «make».

Были включены Make-файлы. все, что вам, вероятно, нужно сделать, это выполнить ‘make’ там, где вы выполняете g

Причина, по которой вы получаете эту ошибку, заключается в том, что Main.cpp пытается включить заголовки glut, но они не найдены.

Makefile установит эти местоположения для компиляции

Ответ №3:

Либо у вас отсутствует #include <glutfile.h> in Main.cpp , либо ваши заголовочные файлы устарели или слишком новы для программы.