Я не могу заставить работать функцию GLFWInit, я получаю сообщение об ошибке «X11: переменная окружения DISPLAY отсутствует».
Я пробовал export DISPLAY=<my_ip>:0.0
Я пробовал export DISPLAY=localhost:0.0
Я пробовал export DISPLAY=:0
В основном все об этих статьях stackoverflow:
Сбой glfwInit в библиотеке X11: отсутствует переменная среды DISPLAY
Visual Studio - X11: переменная среды DISPLAY отсутствует
Я нахожусь на Linux, Manjaro GNOME, у меня установлены драйверы графического процессора.
#include <iostream>
#include <glad/glad.h>
#include <GLFW/glfw3.h>
GLFWwindow* window;
int canvas(size_t width, size_t height) {
auto init_val = glfwInit();
auto ptr = "";
glfwGetError(&ptr);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 4);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
window = glfwCreateWindow(width, height, "Canvas", nullptr, nullptr);
if (!window) {
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
return 0;
}
int main() {
canvas(300, 500);
// while (!glfwWindowShouldClose(window)) {
// glfwSwapBuffers(window);
// glfwPollEvents();
// }
std::cout << window << std::endl;
std::cout << "Hello World!" << std::endl;
}
Ожидаемый вывод - это окно, которое будет отображаться кратко, но вместо этого ptr
становится строкой ошибки, а окно - nullptr.