我正在尝试在 Windows 上制作一个假的 opengl32.dll 来捕获 OpenGL 调用。当我将 DLL 与简单的 OpenGL 应用程序放在同一目录中并运行时,我收到此错误:
无法在动态链接库 OPENGL32.dll 中定位程序入口点 glMap1f
这很奇怪,因为对于每个 OpenGL 调用,我的代码中都有一个虚拟函数,包括这个。在我的头文件中,我有:
void __declspec(dllexport) glMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
并在源文件中:
void glMap1f (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points){}
而且我很确定编译器没有对其进行优化,因为在文本编辑器中查看 DLL,我可以找到文本“glMap1f”。
这可能是什么原因造成的?此外,我不确定如何让 Visual Studio 调试覆盖实际系统 DLL 的 DLL,因此我无法获得更多信息。