Я пытаюсь опробовать библиотеку cpprestsdk и обнаружил, что при компиляции с использованием clang ++ src / handler.cpp main.cpp я получаю эту ошибку: / usr / bin / ld: /tmp/handler-8f246d.o: в функции `boost :: asio :: ...

c++
0
reactor 25 Дек 2020 в 22:05

1 ответ

Лучший ответ
handler.cpp: [...] undefined reference to `pthread_join'
Main.cpp: [...] undefined reference to `web::uri::uri(char const*)'

Похоже, вы не подключаетесь к библиотекам, которые содержат эти функции, поэтому компоновщик не может их найти.

Чтобы связать с функциями pthread _ * (), вы можете добавить -pthread к аргументам строки компиляции.

Для функции web::uri::uri(char * const) аргумент, вероятно, будет чем-то вроде -lcpprestsdk, но я не уверен в точном имени библиотеки. Найдите файл с именем libcpprestsdk.so или libcpprestsdk.a или аналогичный и извлеките из него аргумент -l (например, для ссылки на libxyz.so или libxyz.a вы должны указать -lxyz)

1
Jeremy Friesner 25 Дек 2020 в 19:12