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;
}

从 [this post] 中收集的所有代码(如何从 C++ 程序中的网站获取数据)。因此,我尝试使用提供的一些不同脚本自行运行这个东西,但都没有奏效。以下是我尝试过的一些脚本:

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 用于表示其根目录中用于 boost 的头文件,而 -L 用于查找 boost 根目录的库。所以我不确定我到底下载了什么,因为我现在有 2 个副本,我不确定它们中的任何一个是否有效,我尝试了各种组合以试图让这个东西运行。显然,我到处都是 boost 的几个副本。 所以 /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/包括

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

拥有多个副本会破坏流程吗?我感到很困惑。

这是我的目录结构:
目录结构

所以我已经尝试过解决这个问题,但我只是被难住了。我不擅长编写脚本(最近才从这个问题中学到了大部分内容),而且我根本不知道如何编译这个东西。任何帮助都是任何方式、形状或形式都是无法理解的。提前感谢任何提供帮助的人。

4

1 回答 1

1

为cpp-netlib提供了示例,它不是 Boost C++ 的一部分。

但它可以按照README中的描述作为 Boost 安装的补充来构建和安装。

于 2016-01-13T11:39:03.983 回答