当前位置: 首页 > 工具软件 > cpp-netlib > 使用案例 >

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

白通
2023-12-01
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库的。
 类似资料: