从Boost Asio运行HTTP服务器示例

佩德罗·维埃拉(Pedro Vieira)

尝试运行boost库的源代码附带的HTTP服务器示例时,出现以下错误:boost_1_59_0/libs/asio/example/cpp11/http/server/

我已经在boost_1_59_0目录中运行了以下命令

  • $ ./bootstrap.sh
  • $ sudo ./bjam install
  • $ sudo ./b2 install

安装所有目标后,我尝试使用以下命令编译main.cpp和server.cpp g++ -std=c++0x -o main main.cpp -I "/home/user/Desktop/boost_1_59_0" -L "/home/user/Desktop/boost_1_59_0/libs/" -lboost_system关于如何编译此服务器示例的任何建议?

boost_1_59_0/libs/asio/example/cpp11/http/server/按照@Richard Hodges的建议main.cpp之后链接了该文件夹中的所有文件它仍然不起作用,我遇到了有关lpthread的错误,因此我将其添加到了编译选项中。该程序已编译,但执行失败,返回错误,提示它找不到库libboost_system.so.1.59.0我尝试将文件夹链接在一起,-L /path/to/library但是没有用。

解决方案:

我的编译命令:

g++ -std=gnu++0x -o main main.cpp server.cpp connection.cpp connection_manager.cpp reply.cpp mime_types.cpp request_handler.cpp request_parser.cpp -I "/home/user/Desktop/boost_1_59_0" -lboost_system -lpthread

我用以下命令解决了它:

  • $ LD_LIBRARY_PATH="/usr/local/lib/"
  • $ sudo ldconfig

然后,我只运行可执行文件,它开始工作了!

这是我构想的一个简单的makefile,可以正常工作:

all:server

CPPFLAGS+=-std=c++11 -Wall -pedantic
CPPFLAGS+=-g -O2

CPPFLAGS+=-pthread
LDFLAGS+=-lboost_system

%.o:%.cpp
    $(CXX) $(CPPFLAGS) $^ -c -o $@

server:$(patsubst %.cpp,%.o,$(wildcard *.cpp))
    $(CXX) $(CPPFLAGS) $^ -o $@ $(LDFLAGS)

它运行make

g++ -std=c++11 -Wall -pedantic -g -O2 -pthread connection.cpp -c -o connection.o
g++ -std=c++11 -Wall -pedantic -g -O2 -pthread connection_manager.cpp -c -o connection_manager.o
g++ -std=c++11 -Wall -pedantic -g -O2 -pthread main.cpp -c -o main.o
g++ -std=c++11 -Wall -pedantic -g -O2 -pthread mime_types.cpp -c -o mime_types.o
g++ -std=c++11 -Wall -pedantic -g -O2 -pthread reply.cpp -c -o reply.o
g++ -std=c++11 -Wall -pedantic -g -O2 -pthread request_handler.cpp -c -o request_handler.o
g++ -std=c++11 -Wall -pedantic -g -O2 -pthread request_parser.cpp -c -o request_parser.o
g++ -std=c++11 -Wall -pedantic -g -O2 -pthread server.cpp -c -o server.o
g++ -std=c++11 -Wall -pedantic -g -O2 -pthread connection.o connection_manager.o main.o mime_types.o reply.o request_handler.o request_parser.o server.o -o server -lboost_system

测试程序运行:

$ ./server 0.0.0.0 9889 . & 
$ GET http://localhost:9889/main.cpp > main.cpp.0

检查文件

$ md5sum main.cpp*
be5dc1c26b5942101a7895de6baedcee  main.cpp
be5dc1c26b5942101a7895de6baedcee  main.cpp.0

完成后,别忘了杀死服务器

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过数据流以C#接收数据,并通过boost:asio http服务器示例读取数据

来自分类Dev

Boost http服务器示例不起作用?

来自分类Dev

如何在端口80上运行Boost.Asio服务器?

来自分类Dev

与命令循环一起运行 boost::asio 异步服务器

来自分类Dev

使用boost :: asio连接到HTTPS服务器

来自分类Dev

Boost asio TCP异步服务器不异步吗?

来自分类Dev

Simple Boost :: Asio异步UDP回显服务器

来自分类Dev

如何使用Boost ASIO与服务器建立多个连接

来自分类Dev

使用boost :: asio连接到HTTPS服务器

来自分类Dev

boost asio异步udp服务器-性能不佳

来自分类Dev

为什么使用Boost.ASIO实现的简单HTTP服务器需要睡眠才能正常工作

来自分类Dev

带有NodeJ和boost :: asio组合的异步服务器

来自分类Dev

使用Boost.ASIO与服务器进行简单的网络TCP通信

来自分类Dev

连接到域以使用Boost.Asio托管服务器

来自分类Dev

Boost ASIO Tcp客户端/服务器对象连接问题

来自分类Dev

Boost.Asio:编写SSL服务器/客户端的文件类型过多

来自分类Dev

证书验证在与boost :: asio和OpenSSL的客户端服务器通信中失败

来自分类Dev

Boost Asio C ++ HTTPS请求未命中服务器。没有错误

来自分类Dev

使用 C++ MJPEG 流服务器时 boost::asio 随机标头丢失

来自分类Dev

如何在更多线程上运行boost asio解析器服务?

来自分类Dev

如何在更多线程上运行boost asio解析器服务?

来自分类Dev

在Boost HTML3示例中,如何向服务器发送SIGTERM或SIGINT信号?

来自分类Dev

构建Boost_1_55_0的示例异步TCP日间服务器

来自分类Dev

在Boost HTML3示例中,如何向服务器发送SIGTERM或SIGINT信号?

来自分类Dev

boost daytime7服务器示例不响应netcat客户端

来自分类Dev

C ++ Boost TCP服务器

来自分类Dev

C ++ Boost TCP服务器

来自分类Dev

Boost Async Websocket 服务器问题

来自分类Dev

Boost asio接收HTTP POST?

Related 相关文章

  1. 1

    通过数据流以C#接收数据,并通过boost:asio http服务器示例读取数据

  2. 2

    Boost http服务器示例不起作用?

  3. 3

    如何在端口80上运行Boost.Asio服务器?

  4. 4

    与命令循环一起运行 boost::asio 异步服务器

  5. 5

    使用boost :: asio连接到HTTPS服务器

  6. 6

    Boost asio TCP异步服务器不异步吗?

  7. 7

    Simple Boost :: Asio异步UDP回显服务器

  8. 8

    如何使用Boost ASIO与服务器建立多个连接

  9. 9

    使用boost :: asio连接到HTTPS服务器

  10. 10

    boost asio异步udp服务器-性能不佳

  11. 11

    为什么使用Boost.ASIO实现的简单HTTP服务器需要睡眠才能正常工作

  12. 12

    带有NodeJ和boost :: asio组合的异步服务器

  13. 13

    使用Boost.ASIO与服务器进行简单的网络TCP通信

  14. 14

    连接到域以使用Boost.Asio托管服务器

  15. 15

    Boost ASIO Tcp客户端/服务器对象连接问题

  16. 16

    Boost.Asio:编写SSL服务器/客户端的文件类型过多

  17. 17

    证书验证在与boost :: asio和OpenSSL的客户端服务器通信中失败

  18. 18

    Boost Asio C ++ HTTPS请求未命中服务器。没有错误

  19. 19

    使用 C++ MJPEG 流服务器时 boost::asio 随机标头丢失

  20. 20

    如何在更多线程上运行boost asio解析器服务?

  21. 21

    如何在更多线程上运行boost asio解析器服务?

  22. 22

    在Boost HTML3示例中,如何向服务器发送SIGTERM或SIGINT信号?

  23. 23

    构建Boost_1_55_0的示例异步TCP日间服务器

  24. 24

    在Boost HTML3示例中,如何向服务器发送SIGTERM或SIGINT信号?

  25. 25

    boost daytime7服务器示例不响应netcat客户端

  26. 26

    C ++ Boost TCP服务器

  27. 27

    C ++ Boost TCP服务器

  28. 28

    Boost Async Websocket 服务器问题

  29. 29

    Boost asio接收HTTP POST?

热门标签

归档