DSO在命令行中丢失

时间:2014-06-07 11:45:04

标签: c++ linux g++ undefined-reference

我正在尝试编译这样的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

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

1 个答案:

答案 0 :(得分:68)

此处的DSO表示Dynamic Shared Object;由于错误消息显示它在命令行中丢失,我猜你必须将它添加到命令行。

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