Компиляция программы OpenGL с помощью GLFW3

Я установил GLFW3 и пытаюсь скомпилировать свою программу OpenGL следующим образом:

g++ -std=c++11 main.cpp -lGL -lGLEW -lglfw3 

Но вот ошибка библиотеки, которую я получаю:

/usr/bin/ld: cannot find -lglfw3
collect2: error: ld returned 1 exit status

Я также пробовал с pkg-config:

g++ `pkg-config --cflags glfw3 glew` -o myprog main.cpp `pkg-config --static --libs glfw3 glew`

он компилируется, но когда я запускаю myprog, он говорит, что не может найти libglfw.so.3

Но он находится в /usr/local/lib


person Mike Glaz    schedule 01.03.2015    source источник


Ответы (2)


http://www.brandonfoltz.com/2012/12/compile-glfw-on-ubuntu-and-fix-libglfw-so-cannot-open-error/

Ubuntu устанавливает libglfw.so.3 в /usr/local/lib, поэтому вам нужно добавить эту строку в /etc/ld.so.conf

person Mike Glaz    schedule 01.03.2015
comment
IIRC Ubuntu по умолчанию просматривает /usr/local/lib; Я не думаю, что мне когда-либо приходилось это делать. Хотя он устанавливает его как libglfw.so.3, а не libglfw3.so. - person Colonel Thirty Two; 02.03.2015

У меня такая же проблема. В моем случае были полезны следующие шаги:

  1. Скачать исходный код glfw
  2. распаковать его
  3. cd glfw_folder
  4. сделай . (с точкой)
  5. сделать
  6. судо сделать установить

Для проверки скопируйте и вставьте в консоль следующую команду «whereis libglfw3». у вас должен быть такой вывод: "libglfw3: /usr/local/lib/libglfw3.a" (или другой путь после ":").

Моя конфигурация: VAIO Pro 13/Ubuntu 16.04 LTS/Intel HD4000.

P.S.: Да, я пробовал "sudo apt-get install libglfw3" и все зависимости.

person SeveneduS    schedule 25.11.2016