GLEW 无法在 Visual Studios 2010 中工作

Posted

技术标签:

【中文标题】GLEW 无法在 Visual Studios 2010 中工作【英文标题】:GLEW fails to work in Visual Studios 2010 【发布时间】:2013-03-31 00:39:03 【问题描述】:

当我尝试使用 glewInit() 运行我的多项目解决方案时,它会关闭。该项目虽然可以自行构建。当我注释掉这一行时,解决方案就可以运行了。

我正在编写一个项目,该项目是 Visual Studios 2010 中大型解决方案的一部分。该项目使用名为 coin3d 的第 3 方图形库。我已经下载并安装/包含了 glew,并且没有链接问题,因为该项目将构建良好而没有任何错误。这个项目没有入口点,它生成的 dll 只是被解决方案使用。所以我无法查看有关它的任何特定运行时错误日志。它只告诉我它失败时找不到项目的dll。

我知道第 3 方图形库创建了 opengl 上下文,因为我可以使用常规的 opengl 将一些几何图形和诸如此类的东西渲染到屏幕上。但是一旦我运行 glewInit(),项目就无法运行(即使它构建了)。有没有办法检查和打印上下文是否已创建? (只是为了确定)

在 GLEW 的网站上写着:

"On Windows, you also need to define the GLEW_STATIC preprocessor token when
 building a static library or executable, and the GLEW_BUILD preprocessor
 token when building a dll"

这是否意味着像这样将它们放入项目的预处理器定义中?

我尝试让它只使用 GLEW_BUILD 而不是 GLEW_STATIC 运行。这并没有什么不同。有没有我遗漏的步骤?

【问题讨论】:

我不明白你的问题是什么。您无法构建 GLEW 吗?您是否构建了 GLEW 但无法成功使用它?您显示项目的屏幕截图;是 GLEW 项目本身,还是您想要使用 GLEW 的项目? 确保 glew.h 包含在 gl.h 或任何其他 OpenGL 头文件之前。 @NicolBolas 我认为我能够很好地构建 glew。当我构建项目时,没有错误。那是如何构建glew的?当我使用“glewInit()”行运行项目时,它不起作用。截图是我想直接使用 GLEW 的项目。 @SirDigbyChickenCaesar 是的,我已确保在其他 openl 之前包含 Glew。事实上,我只包含 glew 标头——它也包含 gl 标头。 您确定将 glew32.lib 添加到您的链接器输入中,对吗?如果没有,请右键单击您的项目,单击属性,然后转到链接器->输入并将 glew32.lib 附加到附加依赖项列表中。 【参考方案1】:

有没有办法检查和打印上下文是否已创建? (只是为了确定)

您可以执行以下操作:

if (glewInit() != GLEW_OK) 

    fprintf(stderr, "Failed to initialize GLEW\n");
    return -1;

【讨论】:

以上是关于GLEW 无法在 Visual Studios 2010 中工作的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studios 2015 NuGet Ghostscript 安装错误

Visual Studios 2012 更改运行时库会导致链接错误,使用 C++

在 Visual Studios 中创建 sqlite3.lib 文件/使用 sqlite3 [关闭]

Visual Studios 调试设置保存在哪里?

Visual Studios 2008 中 C++ 开发中的链接错误

让 cURL 与 Visual Studios 2017 一起工作