GNU/Linux >> Tutoriales Linux >  >> Linux

Libusb referencia indefinida a

debe configurar el indicador del enlazador de la biblioteca para la compilación en el enlazador, puede obtener una lista completa en la consola ejecutando

pkg-config --list-all

Estas son las bibliotecas que ha instalado en su sistema y debe vincular las que desea usar. En su ejemplo, es libusb, por lo que debe hacer

pkg-config --libs libusb

debería estar la salida

-lusb

o

-lusb-1.0

Esto le da la bandera que tiene que pasar al enlazador. por ejemplo

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

Luego, edita la configuración del proyecto y busca las banderas de enlace, debería haber un campo de texto para eso en algún lugar de las opciones de compilación. No estoy muy seguro de dónde encontrarlo, pero buscarlo en Google sugirió:

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

Después de encontrarlo, simplemente agregue la bandera del enlazador en el campo de texto y debería estar bien.

EDITAR

dado que mi respuesta es la aceptada, también agregué la otra bandera que parece funcionar para muchas personas.


¿Cuál es la línea de comando de su enlazador? Necesitas tener -lusb en el comando de enlace; solo tener el encabezado incluido no funcionará.


Me enfrenté al mismo problema. Pero pude resolverlo agregando '-lusb-1.0' al enlazador.

por ejemplo:g++ miarchivo.cpp -lusb-1.0


Linux
  1. MySQL:referencia rápida de comandos básicos

  2. 10 comandos prácticos de systemd:una referencia

  3. Error de compilación MPI:referencia indefinida a `sqrt’ – Resuelto

  4. Error de Linux c ++:referencia indefinida a 'dlopen'

  5. Importancia del indicador -pthread al compilar

Pruebe las aplicaciones de GNOME en esta plataforma de referencia de Linux

El comando dpkg en Linux:una referencia para principiantes

referencia indefinida al error del símbolo '_ZN5boost6system15system_categoryEv'

copy_to_user indefinido en Linux kernel versión 4.12.8

¿Qué es el enlazador de oro?

No se puede instalar xdebug - símbolo indefinido:zend_post_startup_cb