DSO отсутствует в командной строке

Я пытаюсь скомпилировать программу на С++ следующим образом:

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

Однако я получаю следующую ошибку:

/usr/bin/ld: /tmp/cct6xeXD.o: undefined reference to symbol
'[email protected]@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

DSO здесь означает Динамический общий объект; поскольку сообщение об ошибке говорит, что оно отсутствует в командной строке, я думаю, вы должны добавить его в командную строку.

То есть, попробуйте добавить -lpthread в свою командную строку.

Ответ 2

Я также столкнулся с аналогичной проблемой, после урегулирования, библиотеки, которая должна быть подключена.
Но на самом деле вы, возможно, забыли подключить библиотеку.