GNU/Linux >> Tutoriels Linux >  >> Linux

Erreur de liaison :DSO manquant dans la ligne de commande

J'espère que cela aidera ceux, comme moi, qui sont nouveaux sur Linux et qui ne trouvent rien de lié à Linux particulièrement évident.

Comme indiqué par talonmies, je ne suis pas en mesure de créer un lien indirect et, en tant que tel, j'ai besoin de spécifier toutes les bibliothèques supplémentaires requises par les bibliothèques que j'utilise. C'est-à-dire que si je lie la bibliothèque A, qui nécessite les bibliothèques B et C, je dois lier les trois bibliothèques pour que le programme se lie correctement.

Pour trouver quelles autres bibliothèques étaient nécessaires, j'ai utilisé le pkg-config commande, pour laquelle j'ai trouvé un guide ici. Exécution de pkg-config --print-requires --print-requires-private glfw3 a donné la sortie suivante, qui est la liste des packages requis par glfw3.

x11
xrandr
xi
xxf86vm
gl

J'ai ensuite pu trouver les bibliothèques que je devais inclure en exécutant pkg-config --libs , suivi du nom de la bibliothèque. Par exemple, pkg-config --libs x11 a donné -lX11 .

Remarque :vous pouvez transmettre plusieurs éléments à pkg-config en entrée, donc en cours d'exécution

pkg-config --libs $(pkg-config --print-requires --print-requires-private glfw3)

imprimera toutes les bibliothèques supplémentaires dont vous avez besoin pour lier (-lX11 -lXrandr -lXi -lXxf86vm -lGL ).

Mon programme est maintenant lié avec succès, j'espère que cela sera utile à toute personne ayant un problème similaire.


Votre éditeur de liens a besoin de la bibliothèque X11, vous devez spécifier -lX11 à l'éditeur de liens

Essayez

/usr/local/cuda/bin/nvcc -arch=compute_30 -code=sm_30,compute_30 -o Main.o Display.o FileUtil.o Timer.o NeuralNetwork.o -L/usr/lib -L/usr/local/lib -L/usr/lib/x86_64-linux-gnu -L/usr/local/cuda/lib64 -lGLEW -lglfw3 -lGL -lGLU -lcuda -lcudart -lX11

Essayez d'ajouter -pthread à la fin de la liste des bibliothèques (ligne de commande) dans le Makefile.

Cela a fonctionné pour moi.


Linux
  1. Trouver la version de WordPress à partir de la ligne de commande

  2. référence indéfinie au symbole erreur '_ZN5boost6system15system_categoryEv'

  3. matlab exécute le script à partir de la ligne de commande linux

  4. Diviser la vidéo MPEG à partir de la ligne de commande ?

  5. Ligne de commande :Extraire la sous-chaîne de la sortie

Programmer le matériel à partir de la ligne de commande Linux

youtube-dl - télécharger des vidéos Youtube à partir de la ligne de commande Linux

Comment redémarrer (redémarrer) Linux à partir de la ligne de commande

Rechercher des produits Amazon à partir de la ligne de commande

Envoyer un e-mail sous Linux à partir de la ligne de commande

Comment puis-je écrire sur dmesg à partir de la ligne de commande ?