DSO从命令行中丢失

我正在尝试编译一个像这样的C ++程序:

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

但是,我得到以下错误:

 /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 

我不知道这个错误是什么意思。 任何帮助将不胜感激。

这里的DSO表示dynamic共享对象 ; 由于错误消息说,它从命令行中缺less,我想你必须将其添加到命令行。

也就是说,尝试添加-lpthread到你的命令行。

我也遇到了类似的问题,解决之后,需要连接一个库。
但事实上,你可能忘记连接图书馆。