我似乎无法使GLFWInit的功能正常工作,我不断收到“ X11:缺少DISPLAY环境变量”错误。
我已经尝试过export DISPLAY=<my_ip>:0.0
我已经尝试过export DISPLAY=localhost:0.0
我已经尝试过export DISPLAY=:0
基本上这些stackoverflow文章上的所有内容:
glfwInit fails inside library X11: The DISPLAY environment variable is missing
Visual Studio - X11: The DISPLAY environment variable is missing
我在Linux上,Manjaro GNOME,已经安装了我的GPU驱动程序。
#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。