cpp-netlib жалуется на отсутствие lboost-thread

Я изучаю cpp-netlib, и я попытался запустить exmaple клиент, указанный на официальном сайте. Код очень прост:

#include <boost/network/protocol/http/client.hpp>
#include <iostream>
int main(int argc, char *argv[]) {
    using namespace boost::network;

    if (argc != 2) {
        std::cout << "Usage: " << argv[0] << " [url]" << std::endl;
        return 1;
    }

    http::client client;
    http::client::request request(argv[1]);
    request << header("Connection", "close");
    http::client::response response = client.get(request);
    std::cout << body(response) << std::endl;
    return 0;
}

А вот мой make-файл для этого приложения C++: CC = g++ -std= C++11

CFLAG = -I/usr/local/Cellar/boost/1.57.0/include
LIBFLAG = -L/usr/local/Cellar/boost/1.57.0/lib  

all: client

client: client.o
    $(CC) $(LIBFLAG) -lboost_system -lboost_thread client.o -o client  

client.o: client.cpp
    $(CC) -c $(CFLAG) client.cpp

clean:
    rm -rf *.o client

Он жалуется на то, что не нашел библиотеку lboost_thread после компиляции:

ld: library not found for -lboost_thread
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [client] Error 1

В моем каталоге библиотеки Boost библиотека boost_thread выглядит так:

libboost_thread-mt.a      libboost_thread-mt.dylib  

Почему он не может найти эту библиотеку? Я сделал какую-либо ошибку в связи?

1 ответ

Решение

Попробуйте изменить свой make-файл так, чтобы он ссылался на -lboost-thread-mt вместо -lboost-thread.

Вы, кажется, по какой-то причине пропускаете libboost_thread

Другие вопросы по тегам