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库的。
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库的。
相关文章推荐
- C++学习笔记1——安装GNU编译器,编译运行第一个程序
- 【黑马程序员】C语言学习笔记之第一个C程序及编译运行(一)
- c++学习笔记(1)——环境搭建、经典教程推荐及 Visual Studio 2005/2008中如何编译和运行C++程序
- Linux下使用GCC编译并运行第一个helloworldC++程序
- 第七周 编辑、编译、运行第一个程序
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行
- linux下运行《UNIX环境高级编程》的第一个程序时源码编译出错的处理方法
- 【学习ARToolkit小记之初】 ARToolkit在VS2010(Win7 64位)下的配置及第一个开发程序的编译与运行
- 与afreez一起学习DirectFB之:编译运行第一个DirectFB程序
- 如何用命令行编译、运行第一个java程序(Hello World!)
- (JAVA SE 学习笔记)Java.SE.第001讲.Java.SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行
- 一、编译,运行 并且 理解 你的 第一个 c程序
- 《疯狂JAVA讲义》之四——编写并编译、运行第一个java程序
- [学习笔记]java基础Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行
- 与afreez一起学习DirectFB之:编译运行第一个DirectFB程序
- android之NDK(jni)开发笔记1——运行第一个NDK程序
- 学习DirectFB之:编译运行第一个DirectFB程序
- 基于MT7688模块的开发笔记11——编写我的第一个程序并在MT7688中运行
- centos中安装gdbm以及编译运行第一个gdbm程序
- 【Qt学习笔记】在Qt编译好之后运行程序时提示:程序异常结束。The process was ended forcefully. ....exe crashed.