0

简而言之,我使用 GLEW 并使用 VS2013 编译的程序在调用 OpenGL 函数时会崩溃。

这是我所做的:

从他们的网站下载了最新版本的 GLEW。

在 VS 2013 中创建了一个空项目

添加 glew32s.lib;opengl32.lib;glu32.lib 到链接器输入;

使用以下代码添加了 main.cpp(请注意,我确实定义了 GLEW_STATIC)

#include <windows.h>
#define GLEW_STATIC
#include <GL/glew.h>

int main() {
    GLuint s = glCreateShader(GL_VERTEX_SHADER);
    return 0;
}

它使用以下链接器警告构建:

1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>glew32s.lib(glew.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with 'glew32s.lib(glew.obj)' or at 'D:\javadyan\Code\tinygamelib_demo\Project1\Debug\vc100.pdb'; linking object as if no debug info

当我运行程序时,它一接到电话就会崩溃glCreateShader

VS2012没有出现这样的问题

有没有人尝试将 GLEW 与 VS2013 一起使用?您是否遇到过类似的情况,您是如何解决的?

4

1 回答 1

0

这似乎是 C 运行时混合版本的问题。
1.你在用VS2012构建你的dll时,Platform Toolset你用的是哪个?Platform ToolsetVS2013可以用同一个版本吗?
2. 也可能值得检查Runtime Library(调试/发布,静态/动态)并在您的 VS2012 和 VS2013 项目之间比较它们的值。

于 2013-10-25T07:31:42.467 回答