Вывод кодовых блоков не выполняет linux

Я новичок в 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.

Заранее спасибо за помощь!


person Wouter Standaert    schedule 27.06.2014    source источник
comment
ваша общая библиотека должна быть помещена в путь, по которому она ищется, это не включает текущий рабочий каталог   -  person Uku Loskit    schedule 28.06.2014


Ответы (1)


Вы должны поместить эти библиотеки в свой $PATH. Выполните команду echo $PATH и посмотрите, сможете ли вы найти библиотеки там (по этим путям) - если нет, вам придется как-то поместить их туда. Я не уверен, что вы можете просто скопировать и вставить туда библиотеки, поэтому, возможно, вы захотите найти их, используя систему управления пакетами вашего дистрибутива Linux. Поскольку вы используете Linux Mint, возможно, вы могли бы попробовать выполнить поиск с помощью sudo aptitude search glfw, а затем попробовать установить соответствующие пакеты.

person jimm-cl    schedule 27.06.2014
comment
Извините за поздний комментарий, но спасибо за вашу помощь, теперь все работает отлично, спасибо! - person Wouter Standaert; 28.06.2014