0.0.0 环境:
系统:Windows 10 专业版 22H2 内部版本19045.3324
编译器:gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
依赖:OpenSSL > 3.0,python
1.0.0前置工作
1.0.1下载httplib
git clone https://github.com/yhirose/cpp-httplib.git
1.0.2.1下载openssl
进入 https://slproweb.com/products/Win32OpenSSL.html
下载这个,Light版就够了然后一路安装,确定
进入安装目录,找到libcrypto-3-x64.dll和libssl-3-x64.dll,复制到httplib目录下备用
1.0.2.2下载openssl的头文件
git clone https://github.com/openssl/openssl.git
或者直接下载https://github.com/openssl/openssl/releases/download/openssl-3.2.1/openssl-3.2.1.tar.gz
解压缩,找到里面的include文件夹,将他复制一份到我们的cpp-httplib目录下备用
也可以从这里下载头文件和dll=>见附
2.0.0开始编译
2.0.1运行cpp-httplib目录下的split.py
python split.py
运行成功的话会在cpp-httplib目录下看到一个out文件夹
进入文件夹,会看到httplib.c和httplib.cc两个文件
2.0.2.1不使用OpenSSL
注:不使用OpenSSL将无法使用HTTPS
运行下列内容(生成DLL)
g++ .\httplib.cc -fPIC -shared -lwsock32 -lws2_32 -lpthread -o httplib.dll
略等片刻,目录下会生成httplib.dll
保存httplib.dll和 httplib.h即可
2.0.2.2使用OpenSSL
首先我们需要打开httplib.h,稍微编辑一下
加入以下内容(深色背景):
保存,退出
运行
g++ .\httplib.cc -I "../include/" -fPIC -shared -lwsock32 -lws2_32 -lpthread -lcrypt32 .n\libcrypto-3-x64.dll .\libssl-3-x64.dll -o httplib-ssl.dll
没错的话应该是成功了,保存好目录下的libcrypto-3-x64.dll libssl-3-x64.dll httplib-ssl.dll 以及httplib.h和父目录下的include/openssl文件夹
到此,httplib编译完成
END:结语
httplib是一个个人认为比较好用的网络库,基本的网络功能他都能胜任。。。(编不下去了)
总之,以后有机会再写写它的一些玩法
本人才疏学浅,不喜勿喷 Peace!