OpenGL GLFW GLAD在Visual C ++项目之间共享

时间:2017-08-25 09:27:25

标签: c++ opengl dll glfw

在Visual C ++ 2017下,我有一个项目DLL,其中包含核心GLFW 3.2.1例程(如glfwInit()glfwWindowShouldClose()glfwTerminate() ...)。这些方法封装在名为RenderLoop的静态类中。它也使用GLAD和GLM。 另一方面,我有一个EXE项目应用程序,它在同一个解决方案中调用RenderLoop方法。

一切正常,我启动exe,窗口创建,循环运行等... 然而,在初始化之后,我尝试在我的EXE中调用一些gl函数(如glGenVertexArrays)。我无法摆脱访问冲突异常。

如果我把这个gl函数放在DLL中,一切正常。如果我把它放在EXE中,它会崩溃。在DLL和EXE之间共享OpenGL是否有“技巧”?

1 个答案:

答案 0 :(得分:0)

正如Robinson所说,我在初始化后在dll中添加了对gladLoadGLLoader的调用