【问题标题】:Code Blocks output doesn't execute linux代码块输出不执行linux
【发布时间】:2014-06-27 21:27:47
【问题描述】:

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

提前感谢您的帮助!

【问题讨论】:

  • 你的共享库必须放在被搜索的路径中,这不包括当前工作目录

标签: linux executable codeblocks linux-mint


【解决方案1】:

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

【讨论】:

  • 抱歉,评论迟了,但感谢您的帮助,现在它可以完美运行了,谢谢!
猜你喜欢
  • 1970-01-01
  • 2022-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多