Я новичок-i sh в OpenGL с GLFW, поэтому я не уверен в некоторых из этих ошибок.
Я пытаюсь создать простую функцию обратного вызова клавиши GLFW, используя предоставленный код в документация:
void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods) {
if (key == GLFW_KEY_W && action = GLFW_PRESS) {
glTranslatef(0.25f, 0, 0);
}
if (key == GLFW_KEY_A && action = GLFW_PRESS) {
glTranslatef(0, 0, 0.25f);
}
if (key == GLFW_KEY_S && action = GLFW_PRESS) {
glTranslatef(-0.25f, 0, 0);
}
if (key == GLFW_KEY_D && action = GLFW_PRESS) {
glTranslatef(0, 0, -0.25f);
}
}
Однако G ++ выдает ошибку:
glfw3.h:310:37: error: lvalue required as left operand of assignment
310 | #define GLFW_PRESS 1
| ^
main.cpp:70:36: note: in expansion of macro 'GLFW_PRESS'
70 | if (key == GLFW_KEY_W && action = GLFW_PRESS) {
для каждого из этих операторов «if».
Я столкнулся с этим при компиляции с помощью этой команды: g++ main.cpp -lopengl32 -lglu32 -lglfw3 -mwindows
. Я правильно установил GLFW с MinGW, которая сама по себе компилируется.