cpp-httplib
是一个极其简单的 C++11 语言实现的 HTTP/HTTPS 服务器端和客户端实现库。
说它简单,是因为它只有一个 C++ 头文件,不过呢,不要小瞧它,一个头文件 8000 行代码,哪来的简单啊。
cpp-httplib
的代码开源在 Github 上,源码地址为 https://github.com/yhirose/cpp-httplib,有空呢,推荐阅读阅读,还是很值得的。
虽然它只是一个头文件,我们甚至可以直接复制 httplib.h
到项目的头文件目录就能用。
但鉴于 C++ 工具的完善,便于我们使用 cmake
或 make
编译工具链的使用,还是将它安装到系统头文件目录 /usr/local/include/
为好。
这篇文章,我们要解释的是如何安装。
1. 首先检查 cmake 工具
运行命令 cmake --version
,如果有输出 cmake version xxxx
则说明已经存在 cmake
了则略过此章节。
yufei@yufei ~ % cmake --version cmake version 3.21.3 CMake suite maintained and supported by Kitware (kitware.com/cmake).
对了,如果版本低于 3.7 也要重新安装
如果没有,我们就要手动安装 cmake
了。
cd ~ wget https://github.com/Kitware/CMake/releases/download/v3.21.4/cmake-3.21.4.tar.gz tar -zxvf cmake-3.21.4.tar.gz cd cmake-3.21.4 ./configure make && make install
2. 安装 cpp-httplib
-
点击下面的链接下载最新版 https://github.com/yhirose/cpp-httplib/releases 或者使用下面的命令拷贝到本地
git clone https://github.com/yhirose/cpp-httplib.git
-
解压缩然后进入到
cpp-httplib
目录cd cpp-httplib
-
创建
build
目录并且进入到该目录mkdir build cd build
-
然后运行下下面的命令生成相关 build
cmake ..
输出结果如下
-- The CXX compiler identification is AppleClang 13.0.0.13000029 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Looking for C++ include pthread.h -- Looking for C++ include pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Configuring done -- Generating done -- Build files have been written to: /Users/yufei/Downloads/httplib/cpp-httplib/build
-
然后运行下面的命令安装
make && make install
输出结果一般如下
Install the project... -- Install configuration: "" -- Installing: /usr/local/include/httplib.h -- Installing: /usr/local/lib/cmake/httplib/httplibConfig.cmake -- Installing: /usr/local/lib/cmake/httplib/httplibConfigVersion.cmake -- Installing: /usr/local/lib/cmake/httplib/FindBrotli.cmake -- Installing: /usr/local/lib/cmake/httplib/httplibTargets.cmake
输出上面的内容,就代表安装完成了。
对了,如果你懒得安装,就直接把 httplib.h
拷进你项目的头文件目录即可。
检查安装是否完成
-
创建一个
main.cpp
文件然后输入以下内容#include <httplib.h> #include <iostream> using namespace httplib; int main(void) { std::cout << "Hello World!" << std::endl; }
-
然后使用下面的命令编译和运行
g++ -g -Wall -std=c++11 -o main main.cpp && ./main
注意:这是一个 c++11 的库,所以需要添加
-std=c++11
输出结果如下
Hello World!