gpt4 book ai didi

c++ - Windows/opengl glext.h 构建问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:59:32 26 4
gpt4 key购买 nike

所以我试图将一个使用 Qt 和 OpenGL 在 Linux 机器上编写和编译的 c++ 项目带到我家里的 Windows 7 机器上,但我遇到了一些困难。首先,我了解到一些 gl 东西(如 GL_TEXTURE0)不再被定义,因为 gl.h 没有为 windows 定义它们。另外,我的 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 的 undefined reference 。如果我在 glext.h 之前包含 QGLShaderProgram,那么我仍然有这个问题,但 make 也警告我我正在重新定义 QGLShaderProgram 和 glext 中定义的很多东西,所以我知道后者文件被包含在内。非常感谢任何帮助。

最佳答案

您走在正确的道路上,但正如 Nick Meyer 所写,您需要在运行时获取指向函数的指针。

至少从 4.6 开始,Qt 安装目录中已经有一个漂亮干净的示例。检查"Boxes"来自“演示”目录。有 glextensions.h/cpp使用 Qt 的 QGLContext 以 Qt 方式处理这些必需的功能等等

关于c++ - Windows/opengl glext.h 构建问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4455928/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com