GNU/Linux >> Znalost Linux >  >> Linux

Jak sestavit a nainstalovat GLFW 3 a používat jej v projektu Linux

Všimněte si, že nepotřebujete tolik -l s, pokud nainstalujete glfw s BUILD_SHARED_LIBS volba. (Tuto možnost můžete povolit spuštěním ccmake první).

Tímto způsobem sudo make install nainstaluje sdílenou knihovnu v /usr/local/lib/libglfw.so .Potom můžete zkompilovat ukázkový soubor jednoduchým:

g++ main.cpp -L /usr/local/lib/ -lglfw

Před spuštěním programu pak nezapomeňte přidat /usr/local/lib/ do vyhledávací cesty pro sdílené knihovny. To lze provést pomocí:

export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}

A můžete to vložit do ~/.bashrc takže to nemusíte psát pořád.


Krok 1:Instalace GLFW 3 na váš systém pomocí CMAKE

Pro tuto instalaci jsem používal KUBuntu 13.04, 64bit.

Prvním krokem je stažení nejnovější verze (za předpokladu, že verze v budoucnu budou fungovat podobným způsobem) z www.glfw.org, pravděpodobně pomocí tohoto odkazu.

Dalším krokem je rozbalení archivu a otevření terminálu. cd do adresáře glfw-3.X.X a spusťte cmake -G "Unix Makefiles" možná budete potřebovat zvýšená oprávnění a možná budete muset nejprve nainstalovat závislosti sestavení . Chcete-li to provést, zkuste sudo apt-get build-dep glfw nebo sudo apt-get build-dep glfw3 nebo proveďte to ručně , jako jsem to udělal pomocí sudo apt-get install cmake xorg-dev libglu1-mesa-dev ... Mohou existovat další knihovny, které potřebujete, jako jsou knihovny pthread... Zřejmě jsem je již měl. (Viz volby -l dané fázi linkeru g++ níže.)

Nyní můžete zadat make a poté make install , což pravděpodobně bude vyžadovat sudo první.

Dobře, měli byste získat nějaký podrobný výstup na posledních třech fázích CMake, který vám řekne, co bylo postaveno nebo kde to bylo umístěno. (V /usr/include , například.)

Krok 2:Vytvořte testovací program a zkompilujte jej

Dalším krokem je spustit vim („cože?! vim?!“ řeknete) nebo váš preferovaný IDE / textový editor... Nepoužil jsem vim, použil jsem Kate, protože jsem na KUbuntu 13.04... Každopádně si stáhněte nebo zkopírujte testovací program odtud (ve spodní části stránky) a uložte, ukončete.

Nyní zkompilujte pomocí g++ -std=c++11 -c main.cpp - nejsem si jistý, zda je c++11 vyžadováno ale použil jsem nullptr takže jsem to potřeboval... Možná budete muset upgradovat svůj gcc na verzi 4.7 nebo nadcházející verzi 4.8... Informace o tom zde.

Pak opravte své chyby, pokud jste program napsali ručně nebo se snažili být "příliš chytrý" a něco nefungovalo... Pak jej propojte pomocí tohoto monstra! g++ main.o -o main.exec -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi Vidíte, že v části „instalace závislostí sestavení“ můžete také zkontrolovat, zda máte GL, GLU, X11 Xxf86vm (ať už je to cokoli) Xrandr posix-thread a Xi (ať už je to cokoli) vývoj i> nainstalovány také knihovny. Možná aktualizujte také ovladače grafiky, myslím, že GLFW 3 může vyžadovat OpenGL verze 3 nebo vyšší? Možná to někdo potvrdí? Možná budete muset přidat také možnosti linkeru -ldl -lXinerama -lXcursor aby správně fungoval, pokud získáváte nedefinované odkazy na dlclose (připište na @user2255242).

A ano, opravdu jsem potřeboval tolik -l s!

Krok 3:Jste hotovi, přeji hezký den!

Doufejme, že tyto informace byly správné a vše pro vás fungovalo a psaní testovacího programu GLFW se vám líbilo. Doufejme také, že tento průvodce pomohl nebo v budoucnu pomůže několika lidem, kteří měli problémy jako já dnes včera!

Mimochodem, všechny značky jsou věci, které jsem hledal na stackoverflow a hledal odpověď, která neexistovala. (Až do teď.) Doufejme, že jsou to, co jste hledali, pokud jste byli v podobné pozici jako já.

Poznámka autora:

Možná to není dobrý nápad. Tato metoda (pomocí sudo make install) může být pro váš systém nebezpečná. (Viz Nepřerušujte Debian)

V ideálním případě bych měl já nebo někdo jiný navrhnout řešení, které nebude pouze instalovat soubory lib atd. do výchozích adresářů systému, protože ty by měly být spravovány správci balíčků, jako je apt , a pokud tak učiníte, může to způsobit konflikt a narušit váš systém správy balíčků.

Alternativní řešení naleznete v nové „odpovědi pro rok 2020“.


Vyřešil jsem to takto

Soubor pkg-config popisuje všechny nezbytné příznaky a závislosti v době kompilace a připojení, které jsou potřeba k použití knihovny.

pkg-config --static --libs glfw3

ukazuje mi to

-L/usr/local/lib -lglfw3 -lrt -lXrandr -lXinerama -lXi -lXcursor -lGL -lm -ldl -lXrender -ldrm -lXdamage -lX11-xcb -lxcb-glx -lxcb-dri2 -lxcb-dri3 -lxcb-present -lxcb-sync -lxshmfence -lXxf86vm -lXfixes -lXext -lX11 -lpthread -lxcb -lXau -lXdmcp  

Nevím, jestli jsou všechny tyto knihovny skutečně nutné pro kompilaci, ale pro mě to funguje...


Linux
  1. Jak nainstalovat a používat telnet na Kali Linux

  2. Jak nainstalovat a používat Flatpak v Linuxu

  3. Jak nainstalovat a používat Traceroute v Linuxu

  1. Jak nainstalovat a používat Linux Screen?

  2. Jak nainstalovat a používat SSHFS na Linuxu

  3. Jak nainstalovat a používat Slack v Linuxu

  1. Jak nainstalovat a používat PuTTY na Linuxu

  2. Jak nainstalovat a používat locate Command v Linuxu

  3. Jak nainstalovat a používat Tor Browser v Linuxu