пытаясь использовать это руководство на 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.
Я полагаю, вы имеете в виду Урок 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: добавлены недостающие опции компоновщика.
Других решений пока нет …