0

だから私がコンパイルしようとしている私の現在のコード:

#include <boost/network/protocol/http/client.hpp>

int main()
{
    boost::network::http::client client;

    boost::network::http::client::request request("http://www.example.com");
    request << boost::network::header("Connection", "close");
    boost::network::http::client::response response = client.get(request);

    std::cout << body(response);

    return 0;
}

[この投稿] から取得したすべてのコード ( C++ プログラム内の Web サイトからデータを取得するにはどうすればよいですか)。そのため、提供されたいくつかの異なるスクリプトを使用して、このことを単独で実行しようとしましたが、どれも機能しませんでした. 私が試したスクリプトのいくつかを次に示します。

g++ -I. -I$BOOST_ROOT -L$BOOST_ROOT/stage/lib -lboost_system
g++ -I. -I/usr/local/include/boost -lboost_thread -lboost_system
-lcppnetlib -client -connections -lcppnetlib -server -parsers
-lcppnetlib -uri -pthread main.cpp
./a.out

私も試しました:

g++ -I. -I$BOOST_ROOT -L$BOOST_ROOT/stage/lib -lboost_system -pthread main.cpp

また、試しました:

g++ -I. -I/usr/local/Cellar/boost/1.59.0/include/boost -L/usr/local/Cellar/boost/1.59.0/lib -lboost_system pthread main.cpp

しかし、いくつかの投稿を読んだ後、-I はルート ディレクトリ内のブーストのヘッダー ファイルを示すために使用され、-L はブースト ルート ディレクトリのライブラリを見つけるために使用されることに気付きました。そのため、現在 2 つのコピーがあり、どちらかが機能するかどうかわからないため、何をダウンロードしたか正確にはわかりません。このことを実行するためにあらゆる組み合わせを試しています。どうやら私はあちこちに座っているブーストのコピーをいくつか持っています。 したがって、/usr/local/Cellar ディレクトリには両方の最新のものが保持されます。

/usr/local/Cellar/boost/1.59.0/include/boost

/usr/local/Cellar/boost/1.59.0/include/lib

また、/usr/local/ ディレクトリには両方が保持されます。

/usr/local/include/boost/

/usr/local/lib

そしてまた、

/usr/local/opt/boost/include

/usr/local/opt/boost/include/lib

複数のコピーを使用すると、プロセスまたは何かが中断されますか? 私はとても混乱しています。

これは私のディレクトリ構造です:
ディレクトリ構造

それで、私はこれを理解しようとしましたが、単に困惑しています..私はスクリプトが苦手です(最近、この問題からそのほとんどを学びました)、そして単にこのことをコンパイルする方法がわかりません..いずれにせよ、形、または形は高く評価されていません。助けてくれた人に前もって感謝します。

4

1 に答える 1

1

Boost C++ の一部ではないcpp-netlibの例が提供されました。

ただし、 READMEで説明されているように、Boost インストールに追加してビルドおよびインストールできます。

于 2016-01-13T11:39:03.983 に答える