我在 Eclipse 中有一个简单的 OpenGL/GLFW 测试程序
#include <iostream>
#include <string>
#include <GL/glew.h>
#define GLFW_INCLUDE_GLU
#include <GLFW/glfw3.h>
void errorCallback(int error, const char *description)
{
std::cerr << description << " (GLFW error " << error << ")" << std::endl;
}
int main(int argc, char **argv)
{
int returnValue = 0;
try {
// Initialise GLFW.
glfwSetErrorCallback(errorCallback);
if(!glfwInit()) throw std::string("Could not initialise GLFW");
/* ...do everything else... */
} catch(std::string const &str) {
std::cerr << "Error: " << str << std::endl;
returnValue = 1;
}
return returnValue
}
但是,运行它会导致控制台中出现以下内容:
X11: Failed to open X display (GLFW error 65542)
Error: Could not initialise GLFW
即它在期间失败glfwInit()
(我注释掉所有代码只是为了确保它在窗口创建期间实际上不会发生或其他事情)。但是,导航到构建目录(使用我的文件管理器,而不是 Eclipse)并从那里手动启动就可以了。
任何人都知道问题可能是什么?