我是 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
所有库都与可执行文件位于同一目录中,所以我不明白为什么会出现此错误。
顺便说一句,我正在研究 Linux Mint。
预先感谢您的帮助!
最佳答案
您应该将这些库放在您的 $PATH
中。发出 echo $PATH
命令并查看是否可以在其中(在那些路径中)找到库 - 如果找不到,则必须以某种方式将它们放在那里。我不确定您是否可以将库复制粘贴到那里,所以您可能想使用 Linux 发行版的包管理系统搜索它们。当您使用 Linux Mint 时,也许您可以尝试使用 sudo aptitude search glfw
进行搜索,然后尝试安装相应的软件包。
关于linux - 代码块输出不执行 linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24461020/