私はcpp-netlibを学んでおり、公式Webサイトで提供されている例のクライアントを実行してみました。コードは非常に単純です。
#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;
}
この 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_thread ライブラリは次のように表示されます。
libboost_thread-mt.a libboost_thread-mt.dylib
このライブラリが見つからないのはなぜですか? リンクを間違えましたか?