我正在使用VS2017处理使用opengl的代码。构建后我遇到的问题之一是找不到C3861“ gluPickMatrix”标识符。 没有语法错误,并且gluPickMatrix已正确链接到glu.h定义。
#include <WinDef.h>
#include <WinGDI.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <stdio.h>
#include <math.h>
#include <WS2tcpip.h>
#include "pch.h"
#define _WINSOCK_DEPRECATED_NO_WARNINGS
//#include <GL/glu.h>
#include <glad/glad.h>
我在头文件中包含了glu.h.以下是glu.h中的gluPickMatrix定义
void APIENTRY gluPickMatrix (
GLdouble x,
GLdouble y,
GLdouble width,
GLdouble height,
GLint viewport[4]);
glInitNames();
glPushName((unsigned)-1);
glViewport(0, 0, winx, winy);
glLoadIdentity();
gluPickMatrix((GLdouble)oldmousex, (GLdouble)(viewport[3] - oldmousey), 10.0, 15.0, viewport);
这以前在其他.h文件中发生过,但是我在.h开始使用#define No_FILENMAME来解决问题。但是,Windows阻止我更改glu.h文件。