windows - 将较新的 OpenGL 与 MinGW 结合使用

标签 windows opengl mingw

我正在尝试编译链接到 OpenGL 的代码。它最初是为 Linux 开发的,因此对于 Windows (7),我正在使用 MinGW 进行编译。

MinGW 包括 OpenGL header 和环绕 Windows 库的库(opengl32.dllglu32.dll),但是代码包含对更新的 OpenGL 功能的调用,并且编译失败。用最新的 Mesa3d 替换 MinGW 的 header (Mesa3d header 的旧版本,支持 OpenGL 1.1)取得了一些成功。它会编译,但链接失败,因为库仍然缺少符号(将编译器直接指向 Windows OpenGL 库没有区别)。我已经确认图形硬件 (Nvidia 560M) 支持最新的 OpenGL 标准(事实上,它可以在同一台机器上的 Linux 上运行)。

我尝试安装 Nvidia 的 SDK,但它们只在最新版本中包含 Direct3d(不是一个选项),并且不再提供旧版本(确实支持 OpenGL)供下载。

我这样做的方式是否正确,确实需要 Nvidia 的 SDK,还是我应该做些什么来链接到正确的库?

编辑:链接到的具体缺失函数是 glBufferDataglMapBufferglUnmapBufferglBindBufferglGenBufferglDeleteBuffer

最佳答案

您需要的是一个 OpenGL 加载库,您应该在 Linux 和 Windows 上都使用它。这将确保您获得您感兴趣的平台所需的所有功能。

There are several you can choose from ,各有优缺点。

关于windows - 将较新的 OpenGL 与 MinGW 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12159109/

相关文章:

c++ - SDL 错误 LNK1120 : 1 unresolved externals

C++ 保存/加载双(到/从文件)

c++ - 在 Ubuntu 上缺少与 MinGW 的 header 依赖关系

windows - 我的 .INF 的卸载部分

windows - 获取正在运行的进程列表

windows - 在 CMD 中使用 findstr 从文件中获取 MD5 值

opengl - OpenGL中的图像和纹理有什么区别

c - OpenGL实际更新屏幕需要多长时间?

eclipse - nameWindow() 导致 opencv 2.3.1 崩溃? (XP 上的 Eclipse+MinGW,C++)

windows - 在 Windows Server 2008 上使用 npm 安装 Node 包/依赖项