C++ GLEW未能在Visual Studio 2010中工作

C++ GLEW未能在Visual Studio 2010中工作,c++,visual-studio-2010,visual-studio,opengl,glew,C++,Visual Studio 2010,Visual Studio,Opengl,Glew,当我尝试使用glewInit()运行多项目解决方案时,它将关闭。不过,该项目本身构建得很好。当我注释掉这一行时,解决方案就可以运行了 我正在写一个项目,它是Visual Studio 2010大型解决方案的一部分。该项目使用名为coin3d的第三方图形库。我已经下载并安装了/包含了glew,没有链接问题,因为项目将构建良好,不会出现任何错误。此项目没有入口点,它生成的dll只供解决方案使用。因此,我无法查看有关它的任何特定运行时错误日志。它只告诉我,当它失败时,它找不到项目的dll 我知道第三方

当我尝试使用glewInit()运行多项目解决方案时,它将关闭。不过,该项目本身构建得很好。当我注释掉这一行时,解决方案就可以运行了

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

我知道第三方图形库创建了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_构建,而不是GLEW_静态。这没什么区别。有什么我遗漏的步骤吗

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

您可以执行以下操作:

if (glewInit() != GLEW_OK) 
{
    fprintf(stderr, "Failed to initialize GLEW\n");
    return -1;
}

我不明白你的问题是什么。您是否无法构建GLEW?您是否构建了GLEW,但无法成功使用它?显示项目的屏幕截图;这是GLEW项目本身,还是您希望使用GLEW的项目?请确保GLEW.h包含在gl.h或任何其他OpenGL标题之前。@Nicolas我认为我可以很好地构建GLEW。当我构建项目时,没有错误。这就是如何建立glew?当我使用“glewInit()”行运行项目时,它不起作用。屏幕截图是我想直接使用GLEW的项目的截图。@sirdigbychickensar是的,我已经确保在其他openl之前包含GLEW。事实上,我只包含了glew头——它也包含了gl头?如果没有,请在项目上单击鼠标右键,单击“属性”,然后转到“链接器”->“输入”,并将glew32.lib前置到“其他依赖项”列表。