cpp-netlib笔记一:编译运行第一个cpp-netlib服务程序

本文介绍了如何在Windows10环境下,使用VS2017编译cpp-netlib第三方库,并成功运行第一个Http服务程序。详细步骤包括OpenSSL、Boost的编译,cpp-netlib的CMake配置,以及最终项目的编译和运行,展示了cpp-netlib服务的响应性能。
Title:编译运行第一个cpp-netlib服务程序
Author:Kagula
Date:2017-05-28
Environment:
[1]Boost 1.64
本机安装目录 D:\SDK\boost_1_64_0
[2]Windows10、VS2017 Update1
[3]OpenCL 1.0.2k
本机安装目录 D:\SDK\OpenSSL_1_0_2k_vc2007
[4]CMake 3.8.1
[5]cpp-netlib-0.12.0-final
本机安装目录 D:\SDK\cpp-netlib-0.12.0-final
[6]Python 3.6.1
[7]ActivePerl 5.16

Introduction:
  介绍如何使用cpp-netlib第三方库编译运行第一个Http服务。

OpenSSL

下载boost后,参考下面的命令使用x86 Native Tools Command Prompt for VS2017编译并安装
perl Configure VC-WIN32 no-asm --prefix=D:\SDK\OpenSSL_1_0_2k_vc2007
ms\do_ms
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install

Boost

下载boost后,参考下面的命令使用x86 Native Tools Command Prompt for VS2017编译需要的boost子库date_time。
bjam --build-type=complete toolset=msvc-14.1 --with-date_time --stagedir="./vc2017"

cpp-netlib
使用CMake generate vc2017 solution
Variable参考下面的设定
Boost_Dir D:\SDK\boost_1_64_0
Boost_INCLUDE_DIR D:\SDK\boost_1_64_0
OPENSSL_INCLUDE_DIR D:\SDK\OpenSSL_1_0_2k_vc2007\include
SSL_EAY_RELEASE D:\SDK\OpenSSL_1_0_2k_vc2007\lib\ssleay32.lib
LIB_EAY_RELEASE D:\SDK\OpenSSL_1_0_2k_vc2007\lib\libeay32.lib
PYTHON_EXECUTABLE C:\Users\kagula\AppData\Local\Programs\Python\Python36\python.exe

打开CPP-NETLIB solution
编译cppnetlib-uri项目后
,输出
D:\SDK\cpp-netlib-0.12.0-final\vc2017\libs\network\src\Debug\cppnetlib-uri.lib

编译cppnetlib-server-parsers项目
修改is_const.hpp文件,把 true_type 改为 boost::true_type
输出
D:\SDK\cpp-netlib-0.12.0-final\vc2017\libs\network\src\Debug\cppnetlib-server-parsers.lib

编译hello_world_server项目
指定Library search path为D:\SDK\boost_1_64_0\vc2017\lib
输出
D:\SDK\cpp-netlib-0.12.0-final\vc2017\example\Debug\hello_world_server.exe
指定Command Arguments为0.0.0.0 8080运行。
把D:\SDK\OpenSSL_1_0_2k_vc2007\bin下的libeay32.dll  ssleay32.dll复制到
D:\SDK\cpp-netlib-0.12.0-final\vc2017\example\Debug
IDE中运行程序。
在IE浏览器中输入http://localhost:8080/
正确返回Http响应页面,经Intel Core i3-2310机器测试,响应时间大概20ms+慢于Tomcat+Spring3下的10ms+


备注:
[1]Cmake的时候不要选择生成动态库,否则只生成dll,但是hello world server例子默认是去链接lib库的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kagula086

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值