DSO在命令行中丢失

sra*_*rai 43 c++ linux g++ undefined-reference

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

$ g++ -o Sniffer_Train main.cpp Sniffer_train.cpp Sniffer_train.h -lmysqlclient -lpcap
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

/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
Run Code Online (Sandbox Code Playgroud)

我不知道这个错误意味着什么.任何帮助将不胜感激.

ana*_*lyg 72

DSO在这里表示动态共享对象 ; 由于错误消息说它在命令行中丢失,我想你必须将它添加到命令行.

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

  • 错误是否显示ld知道所需的DSO是`// lib/arm-linux-gnueabihf/libpthread.so.0`? (5认同)