GNU/Linux >> Linux Esercitazione >  >> Linux

Errore di collegamento:DSO mancante dalla riga di comando

Spero che questo possa essere d'aiuto a coloro, come me, che sono nuovi a Linux e non trovano nulla di correlato a Linux particolarmente ovvio.

Come notato da talonmies, non sono in grado di collegarmi indirettamente e come tale ho bisogno di specificare eventuali librerie aggiuntive richieste dalle librerie che sto utilizzando. Vale a dire, se collego la libreria A, che richiede le librerie B e C, devo collegare tutte e tre le librerie affinché il programma si colleghi correttamente.

Per trovare quali altre librerie erano necessarie ho usato il pkg-config comando, per il quale ho trovato una guida qui. Esecuzione di pkg-config --print-requires --print-requires-private glfw3 ha fornito il seguente output, che è l'elenco dei pacchetti richiesti da glfw3.

x11
xrandr
xi
xxf86vm
gl

Sono stato quindi in grado di trovare quali librerie avevo bisogno di includere eseguendo pkg-config --libs , seguito dal nome della libreria. Ad esempio, pkg-config --libs x11 ha prodotto -lX11 .

Nota:puoi passare più elementi a pkg-config come input, quindi in esecuzione

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

stamperà tutte le librerie aggiuntive che devi collegare (-lX11 -lXrandr -lXi -lXxf86vm -lGL ).

Il mio programma ora si collega correttamente, spero che questo sia utile a chiunque abbia un problema simile.


Il tuo linker ha bisogno della libreria X11, devi specificare -lX11 al linker

Prova

/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

Prova ad aggiungere -pthread alla fine dell'elenco delle librerie (riga di comando) nel Makefile.

Ha funzionato per me.


Linux
  1. riferimento indefinito al simbolo errore '_ZN5boost6system15system_categoryEv'

  2. matlab esegue lo script dalla riga di comando linux

  3. Dividere il video MPEG dalla riga di comando?

  4. Riga di comando:estrai la sottostringa dall'output

  5. Come ottengo il mio indirizzo IP dalla riga di comando?

Programma hardware dalla riga di comando di Linux

youtube-dl:scarica i video di Youtube dalla riga di comando di Linux

Come riavviare (riavviare) Linux dalla riga di comando

Cerca prodotti Amazon dalla riga di comando

Invia e-mail in Linux dalla riga di comando

Come posso scrivere su dmesg dalla riga di comando?