代码块输出不执行linux

时间:2014-06-27 21:27:47

标签: linux executable codeblocks mint

我是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。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您应该将这些库放在$PATH中。发出echo $PATH命令,看看你是否可以找到那些库(在这些路径中) - 如果没有,你将不得不将它们放在那里。我不确定你是否可以在那里复制粘贴库,所以你可能想要使用你的linux发行版的包管理系统来搜索它们。在使用Linux Mint时,也许您可​​以尝试使用sudo aptitude search glfw进行搜索,然后尝试安装相应的软件包。