Компилиране на 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_папка
  4. cmake. (с точка)
  5. направи
  6. sudo make install

За да проверите, копирайте и поставете следната команда във вашата конзола "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