0

当我尝试使用 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。这并没有什么不同。有没有我遗漏的步骤?

4

1 回答 1

0

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

您可以执行以下操作:

if (glewInit() != GLEW_OK) 
{
    fprintf(stderr, "Failed to initialize GLEW\n");
    return -1;
}
于 2013-04-27T16:35:40.850 回答