build libwebsockets for current host

step1、安装依赖

所有时Terminal + Shell + GNU CoreUtils
下载时cURL
解压时tar + gzip
编译时cmakeninjagcc / GCC | Clang / LLVM
运行时
  • glibc ( libc.sold-linux-x86-64.so )

step2、使用curl命令下载libwebsockets源码包 (

curl -L -o libwebsocket-4.2.0.tar.gz https://github.com/warmcat/libwebsockets/archive/refs/tags/v4.2.0.tar.gz

step3、使用tar解压libwebsockets源码包

tar vxf libwebsocket-4.2.0.tar.gz

step4、进入libwebsocket-4.2.0目录

cd libwebsocket-4.2.0

step5、查看libwebsocket-4.2.0目录中的内容

step6、使用cmake命令配置编译参数

cmake [option]... -D<变量>=<值> -S <sourceDIR> -B <buildDIR>
本软件特有的变量类型默认值说明
LWS_IPV6BOOLOFF是否支持IPv6
LWS_WITH_LIBEVENTBOOLOFF是否使用libevent
LWS_WITH_LIBUVBOOLOFF是否使用libuv
LWS_WITH_MBEDTLSBOOLOFF是否使用mbedTLS
LIBEVENT_INCLUDE_DIRSPATH设置libevent头文件的搜索路径
LIBEVENT_LIBRARIESFILEPATH设置libevent.{a | so | dylib}的路径
LIBUV_INCLUDE_DIRSPATH设置libuv头文件的搜索路径
LIBUV_LIBRARIESFILEPATH设置libuv.{a | so | dylib}的路径
LWS_MBEDTLS_INCLUDE_DIRSPATH设置mbedTLS头文件的搜索路径
LWS_MBEDTLS_LIBRARIESFILEPATH设置libmbedcrypto.{a | so | dylib}的路径

示例:

cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DBUILD_SHARED_LIBS=ON \
    -G Ninja \
    -Wno-dev \
    -S . \
    -B build.d

step7、使用cmake命令进行编译

cmake --build build.d

step8、使用cmake命令进行安装

cmake --install build.d