提问人:Qix - MONICA WAS MISTREATED 提问时间:2/8/2012 最后编辑:genpfaultQix - MONICA WAS MISTREATED 更新时间:2/9/2012 访问量:4678
OpenGL/GLEW:无法解析的外部_glewInit
OpenGL/GLEW: Unresolved external _glewInit
问:
我无法让 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 是否存在。它是,而且是外在的。
我还验证了它找到了库。
搜索 C:\Users\Jake\Documents\Vexal2\vexal\vc9_x86\lib\Debug\GLEW.lib:
我在这里已经没有想法了。有什么帮助吗?
答:
是的。我使用 glew_static 项目重建了它。
仅仅因为你构建了这个项目并不意味着你正在链接到它。
C:\Users\Jake\Documents\Vexal2\vexal\vc9_x86\lib\Debug\GLEW.lib
这不是静态的 GLEW 库。这是 GLEW 的 DLL 版本的导入库。静态 GLEW 库称为 。链接到那个。GLEW32s.lib
评论
GLEW_STATIC
问题出在调用约定上。我在我拥有的 GLFW 代码中将调用约定设置更改为 而不是 ,更改为 __cdecl,然后构建。__stdcall
__cdecl
_glfwTerminate_atexit( void )
固定!
评论