您的位置:首页 > 编程语言 > C语言/C++

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

2017-05-28 13:21 513 查看
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库的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐