как мне избавиться от этих ошибок компилятора в glu.h?

пытаясь использовать это руководство на 64-битных Windows 8 с NetBeans и Cygwin 4.8.1.

я получаю много ошибок, таких как: /usr/include/w32api/GL/glu.h:68:79: ошибка: ожидается ‘)’ перед символом ‘*’.

для таких операторов: void APIENTRY gluQuadricCallback (GLUquadric * qobj, GLenum which, void (CALLBACK * fn) ());

указатель на сообщение об ошибке указывает на * перед fn ().

редактировать: в том числе windef.h избавляется от сообщений об ошибках компилятора.

я остался с кучей неопределенных ссылок, таких как: glfwInit

edit2: используя идеи Андре Фишера, я могу получить чистую компиляцию (вам нужно добавить каталог и опцию -l для компоновщика).

у меня теперь есть: пропущено несовместимое ../../../../../Windows/SysWOW64/opengl32.dll при поиске -lopengl32 и: неопределенная ссылка на `_чертенок_vsnprintf. так что, похоже, у меня проблемы с 32/64 битами и неопределенным внешним.

Должен быть более разумный способ заставить opengl работать на Windows.

4

Решение

Я полагаю, вы имеете в виду Урок 1: Открытие окна и используют встроенную систему сборки Netbeans вместо CMake.

Порядок, в котором вы включаете заголовочные файлы, важен (источник). Попробуйте это так:

#include <windef.h> // According to comments above
#include <GL/glew.h> // Before any gl headers
#include <GL/gl.h>

//#include <GL/glext.h> // Linux headers
//#include <GL/wglext.h> // Windows headers - Not sure which ones cygwin needs. Just try it

#include <GL/glu.h> // Always after gl.h
#include <GL/glfw.h> // When all gl-headers have been included

Создайте каталог с именем «include» в каталоге вашего проекта с подпапкой «GL».

Возьмите двоичные файлы (32 бита, MinGW) из GLFW Скачать сайт и поместите .dll / .so в вашу папку сборки (или извлеките их куда-нибудь и добавьте в каталог поиска), а файлы заголовков в «include / GL».

Также код glfw в учебнике немного устарел; Это больше не работает с glfw3.
Вам придется обновить его с помощью GLFW руководство по конверсии/пытаться эта версия (который я не смог проверить, так как в настоящее время я не дома) или использовать glfw2.

Наконец скачайте GLEW источники и соберите его, следуя инструкциям в файле README.txt. Поместите .dll / .so в вашу папку сборки (или добавьте в каталог поиска), а файлы заголовков в «include / GL».

Добавьте следующее к своим флагам компилятора:

-Iinclude/

Наконец добавьте следующие аргументы в ваш компоновщик:

-L/lib -lglu32 -lopengl32 -lGL -lGLU -lglfw -lglew

Вы должны быть в состоянии скомпилировать учебник сейчас.

Изменить: Добавил инструкции по сборке GLEW, GLFW и завершил мой ответ, чтобы включить сборку все с нуля.
Edit2: связанная glfw3-версия учебного кода.
Edit3: добавлены недостающие опции компоновщика.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]