GLFW не может найти дисплей X11? - PullRequest
0 голосов
/ 08 июля 2019

Я не могу заставить работать функцию 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.

...