OpenGL / GLEW:未解析的外部_glewInit

时间:2012-02-08 14:19:57

标签: c++ opengl unresolved-external glew

我无法让GLEW与我的程序正确链接。

我的项目中的路径正确(我已经三次检查),我尝试使用x86库(所有4 - -s,-mxs等)和x64库来从头开始构建。

我尝试使用#pragma指令,而不是在属性中配置我的项目。

我试图将其作为静态库,因此不需要任何DLL。

我也定义了GLEW_STATIC,如构建说明所示。

错误讯息:

  

OGLInit.obj:错误LNK2019:未解析的外部符号_glewInit @ 0   在函数“bool __stdcall vexal :: OGLStartup(void)”中引用   (?OGLStartup @ @@ vexal YG_NXZ)

我甚至使用dumpbin检查initGlew是否存在。它是,而且是外在的。

我也证实它找到了lib。

  

搜索   C:\用户\杰克\文件\ Vexal2 \ vexal \ vc9_x86 \ lib中\调试\ GLEW.lib:

我的想法已经用完了。有什么帮助吗?

2 个答案:

答案 0 :(得分:1)

  

是的。我使用glew_static项目重建了它。

仅仅因为您构建了该项目并不意味着您链接到它。

  

C:\用户\杰克\文件\ Vexal2 \ vexal \ vc9_x86 \ lib中\调试\ GLEW.lib

这不是静态GLEW库。这是GLEW DLL版本的导入库。静态GLEW库名为GLEW32s.lib。链接到那。

答案 1 :(得分:1)

问题是调用约定。我将调用约定设置更改为__stdcall而不是__cdecl,在我拥有的GLFW代码中将_glfwTerminate_atexit( void )更改为__cdecl,然后构建。

固定!