GNU/Linux >> Znalost Linux >  >> Linux

Libusb nedefinovaný odkaz na

musíte nastavit příznak linkeru knihovny pro kompilaci v linkeru, úplný seznam můžete získat v konzole spuštěním

pkg-config --list-all

Toto jsou knihovny, které jste nainstalovali do svého systému a musíte je propojit s těmi, které chcete použít. takže ve vašem příkladu je to libusb, takže to uděláte

pkg-config --libs libusb

měl by tam být výstup

-lusb

nebo

-lusb-1.0

To vám dává příznak, který musíte předat linkeru. např.

g++ myfile.cpp -lusb[-1.0]

Poté upravíte konfiguraci projektu a vyhledáte linkerflags, někde v buildoptions by na to mělo být textové pole. Nejsem si úplně jistý, kde to najít, ale navrhovalo mi to googlit:

Project -> Properties -> C/C++
Build -> Miscellaneous -> flags

Až to najdete, přidejte příznak linkeru do textového pole a měli byste být v pořádku.

UPRAVIT

protože moje odpověď je přijatá, přidal jsem také další příznak, který, jak se zdá, funguje pro mnoho lidí.


Jaký je váš příkazový řádek linkeru? Musíte mít -lusb v příkazu propojení; zahrnout pouze záhlaví nebude fungovat.


Potýkal jsem se se stejným problémem. Ale dokázal jsem to vyřešit přidáním '-lusb-1.0' do linkeru.

např.:g++ myfile.cpp -lusb-1.0


Linux
  1. Referenční architektura Rackspace Open Cloud

  2. Význam parametru -pthread při kompilaci

  3. crt1.o:Ve funkci `_start':- nedefinovaný odkaz na `main' v Linuxu

  1. Použití sqrtf() v C:nedefinovaný odkaz na `sqrtf'

  2. GDB:lx-symbols nedefinovaný příkaz

  3. nedefinovaný odkaz na symbol '[email protected]@GLIBC_2.4'

  1. nedefinovaný odkaz na chybu symbolu '_ZN5boost6system15system_categoryEv'

  2. copy_to_user nedefinováno v linuxovém jádře verze 4.12.8

  3. Co je zlatý linker?