当我尝试使用glewInit()运行它时,我的多项目解决方案关闭。该项目虽然建立得很好。当我注释掉这一行时,解决方案就可以运行了。
我正在编写一个项目,它是Visual Studios 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_BUILD,而不是GLEW_STATIC。它没有任何区别。我有什么步骤吗?
答案 0 :(得分:0)
有没有办法检查和打印是否创建了上下文? (只是为了确定)
您可以执行以下操作:
if (glewInit() != GLEW_OK)
{
fprintf(stderr, "Failed to initialize GLEW\n");
return -1;
}