GLEW 和 Freeglut 不能一起工作吗?

发布于 2024-09-29 11:22:13 字数 442 浏览 5 评论 0原文

我正在尝试在当前使用 Freeglut 的 OpenGL 应用程序中使用几何着色器,并且我正在尝试使用 GLEW 来执行此操作,因为据我了解,几何着色器功能位于扩展中。我的包含顺序如下:

   #define GLEW_STATIC
   #include <glew.h>
   #include "freeglut.h"

但是,当我这样做时,我收到很多链接器错误,如下所示:

   error LNK2001: unresolved external symbol ___glewAttachShader

当我只使用基本的 OpenGL 功能(即它,扩展中没有的东西)时,我没有收到任何错误,所以我知道编译器正在查找所有“基本”库,例如 glu32 等。我正在使用 Visual Studio 2008。有什么建议吗?

I am trying to use geometry shaders in my OpenGL application that is currently using Freeglut, and I am trying to use GLEW to do that because as I understand it, the geometry shader functionality is in an extension. My include order is as follows:

   #define GLEW_STATIC
   #include <glew.h>
   #include "freeglut.h"

However when I do this I get lots of linker errors like the following:

   error LNK2001: unresolved external symbol ___glewAttachShader

I do not receive any errors when I only use the basic OpenGL functionality (that it, things that are not in the extensions) so I know that the compiler is finding all the "basic" libraries like glu32 etc. I am using Visual Studio 2008. Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放低过去 2024-10-06 11:22:13

这是一个链接器错误,表明它没有找到 glew 入口点。

链接到 glew 库(我认为您之前没有看到错误,因为您没有使用任何扩展)。

编辑:
实际上,这与您使用“GLEW_STATIC”有直接关系。

GLEW 页面

在 Windows 上,您还可以选择将提供的项目文件 glew_static.dsp 添加到工作区(解决方案)并将其与其他项目一起编译。在这种情况下,在构建静态库或可执行文件时,您还需要将 GLEW_BUILD 预处理器常量更改为 GLEW_STATIC,否则会出现构建错误。

这意味着,当您使用 GLEW_STATIC 设置时,您有责任构建并包含 glew 源文件。

It's a linker error that says it did not find a glew entrypoint.

Link against the glew library (you did not see the error before because you did not use any extension, I assume).

Edit:
Actually, this is directly related to your usage of "GLEW_STATIC".

From the GLEW page:

On Windows, you also have the option of adding the supplied project file glew_static.dsp to your workspace (solution) and compile it together with your other projects. In this case you also need to change the GLEW_BUILD preprocessor constant to GLEW_STATIC when building a static library or executable, otherwise you get build errors.

What this says is that it is your responsibility to build and include the glew source files when you use the GLEW_STATIC setup.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文