web-dev-qa-db-fra.com

DSO absent de la ligne de commande

J'essaie de compiler un programme C++ comme ceci:

$ g++ -o Sniffer_Train main.cpp Sniffer_train.cpp Sniffer_train.h -lmysqlclient -lpcap

Cependant, j'obtiens l'erreur suivante:

/usr/bin/ld: /tmp/cct6xeXD.o: undefined reference to symbol
'pthread_join@@GLIBC_2.4' //lib/arm-linux-gnueabihf/libpthread.so.0:
error adding symbols: DSO missing from command line

collect2: error: ld returned 1 exit status

Je n'ai aucune idée de ce que cette erreur signifie. Toute aide sera fortement appréciée.

41
srai

DSO signifie ici objet partagé dynamique ; comme le message d'erreur indique qu'il manque dans la ligne de commande, je suppose que vous devez l'ajouter à la ligne de commande.

C'est-à-dire, essayez d'ajouter -lpthread sur votre ligne de commande.

68
anatolyg