我是linux的新手,我想尝试制作一个小型的opengl 程序就像一个测试。我正在使用glfw,我做了一个非常简单的测试:
#include <iostream>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
using namespace std;
int main()
{
if (!glfwInit())
{
return -1;
}
GLFWwindow *window = glfwCreateWindow(800, 600, "Het werkt", NULL, NULL);
if (!window)
{
glfwTerminate();
}
glfwMakeContextCurrent(window);
while (!glfwWindowShouldClose(window))
{
glfwPollEvents();
glfwSwapBuffers(window);
}
}
现在,如果我尝试在Code :: Blocks本身中运行它,它运行正常,调试,发布,没关系,它的工作原理。但是当我尝试在Code :: Blocks之外执行它时,它会出错。如果我双击可执行文件没有任何反应,如果在终端中我./ExecutableName它给了我这个错误:
error while loading shared libraries: libglfw.so.3: cannot open shared object file: No such file or directory
所有的lib都与可执行文件位于同一目录中,所以我不明白为什么会出现这个错误。
顺便说一句,我正在使用Linux Mint。
提前感谢您的帮助!
答案 0 :(得分:1)
您应该将这些库放在$PATH
中。发出echo $PATH
命令,看看你是否可以找到那些库(在这些路径中) - 如果没有,你将不得不将它们放在那里。我不确定你是否可以在那里复制粘贴库,所以你可能想要使用你的linux发行版的包管理系统来搜索它们。在使用Linux Mint时,也许您可以尝试使用sudo aptitude search glfw
进行搜索,然后尝试安装相应的软件包。