GNU/Linux >> Tutoriels Linux >  >> Linux

Libusb référence indéfinie à

vous devez définir l'indicateur de l'éditeur de liens de la bibliothèque pour la compilation dans l'éditeur de liens, vous pouvez obtenir une liste complète dans la console en exécutant

pkg-config --list-all

Ce sont les bibliothèques que vous avez installées sur votre système et vous devez établir un lien avec celles que vous souhaitez utiliser. Ainsi, dans votre exemple, il s'agit de libusb, ce que vous faites

pkg-config --libs libusb

il devrait y avoir la sortie

-lusb

ou

-lusb-1.0

Cela vous donne le drapeau que vous devez passer à l'éditeur de liens. ex.

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

Ensuite, vous modifiez la configuration du projet et recherchez les linkerflags, il devrait y avoir un champ de texte pour cela quelque part dans les buildoptions. Je ne sais pas trop où le trouver, mais j'ai suggéré de le rechercher sur Google :

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

Une fois que vous l'avez trouvé, ajoutez simplement le drapeau de l'éditeur de liens dans le champ de texte et tout devrait bien se passer.

MODIFIER

puisque ma réponse est celle acceptée, j'ai également ajouté l'autre drapeau qui semble fonctionner pour beaucoup de gens.


Quelle est votre ligne de commande de l'éditeur de liens ? Vous devez avoir -lusb dans la commande de liaison ; le simple fait d'inclure l'en-tête ne fonctionnera pas.


J'ai fait face au même problème. Mais j'ai pu le résoudre en ajoutant '-lusb-1.0' à l'éditeur de liens.

ex :g++ monfichier.cpp -lusb-1.0


Linux
  1. MySQL :Référence rapide des commandes de base

  2. 10 commandes systemd pratiques :une référence

  3. Erreur de compilation MPI :référence indéfinie à `sqrt' - Résolu

  4. Erreur C++ :référence indéfinie à 'clock_gettime' et 'clock_settime'

  5. C++ Boost :référence indéfinie à boost ::system::generic_category()

Testez les applications GNOME sur cette plateforme de référence Linux

La commande dpkg sous Linux - Une référence pour les débutants

Signification de l'indicateur -pthread lors de la compilation

crt1.o :dans la fonction `_start' :- référence indéfinie à `main' sous Linux

Utilisation de sqrtf() en C :référence indéfinie à `sqrtf'

copy_to_user non défini dans le noyau Linux version 4.12.8