Как исправить «ошибку C3861:« идентификатор gluPickMatrix не найден » - PullRequest
0 голосов
/ 09 июля 2019

Я использую 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. И ниже приведено определение gluPickMatrix в glu.h

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, но я использовал #определите No_FILENMAME в начале .h, чтобы решить проблему.Тем не менее, Windows блокирует меня от изменения файла glu.h.

...