Итак, я пытаюсь перенести проект c ++ с использованием Qt и OpenGL, написанный и скомпилированный на компьютере с Linux, на мой компьютер с Windows 7 дома, но я столкнулся с некоторыми трудностями. Сначала я узнал, что некоторые элементы gl (такие как GL_TEXTURE0) больше не определены, потому что gl.h не определяет их для окон. Кроме того, glext.h, который у меня есть, не определяет некоторые функции, такие как glActiveTexture. Обе эти проблемы, которые я обнаружил, могут быть решены путем добавления более нового glext.h.
Моя самая неотложная проблема, похоже, заключается в том, что я неправильно ее ввожу. Если я сделаю:
#define GL_GLEXT_LEGACY //should prevent old glext.h from being included
#define GL_GLEXT_PROTOTYPES //should make glActiveTexture be defined
#include <qgl.h>
#include "glext.h" //local up-to-date glext.h
#include <QGLShaderProgram>
затем make сообщает мне, что у меня есть неопределенные ссылки на glActiveTexture. Если я включу QGLShaderProgram перед glext.h, то у меня все еще будет эта проблема, но make также предупреждает меня, что я переопределяю довольно много вещей, которые определены как в QGLShaderProgram, так и в glext, так что я знаю, что последний файл включен. Любая помощь будет принята с благодарностью.