下载源码,解压缩。
进入修改CMakeLists.txt
# 加在最前面
# 设置交叉编译 -----------------------------------------------
# CMAKE_SYSTEM_NAME:指定目标机所在的操作系统名称,只有当该变量被设置了,CMake才认为此时正值交叉编译
# CMAKE_FIND_ROOT_PATH:代表一系列的相关文件夹路径的根路径的变更,所有的Find_***.cmake脚本首先会在这个路径的usr/lib,lib目录下找,然后才会去系统的目录下找。可以指定多个路径
# CMAKE_FIND_ROOT_PATH_MODE_PROGRAM:有三种取值:NEVER,ONLY,BOTH ,这边选NEVER表示不在当前机器的系统目录下查找,而是去宿主机查找
# CMAKE_FIND_ROOT_PATH_MODE_LIBRARY:选ONLY表示依赖库只在交叉编译环境中找
# CMAKE_FIND_ROOT_PATH_MODE_INCLUDE:表示依赖的头文件只在交叉编译环境中找
# CMAKE_C_COMPILER CMAKE_CXX_COMPILE:指定交叉编译链gcc和g++
SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_FIND_ROOT_PATH "/opt/linux/x86-arm/arm-v01c02-linux-musleabi-gcc/bin")
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_C_COMPILER "/opt/linux/x86-arm/arm-v01c02-linux-musleabi-gcc/bin/arm-v01c02-linux-musleabi-gcc")
SET(CMAKE_CXX_COMPILE "/opt/linux/x86-arm/arm-v01c02-linux-musleabi-gcc/bin/arm-v01c02-linux-musleabi-g++")
# ------------------------------------------------------------
cmake_minimum_required(VERSION 3.10...4.0)
......
略
......
# 我嫌麻烦,openssl直接关了
set(LWS_OPENSSL_SUPPORT 0)
新建build并进入。
mkdir build
cd build
执行
cmake .. \
-DCMAKE_INSTALL_PREFIX=/你要/安装/的目录/install \
-DLWS_WITH_SHARED=OFF \
-DLWS_LINK_STATIC=ON \
-DLWS_WITHOUT_TESTAPPS=ON
如果 CMake 配置成功,接下来进行编译和安装:
make -j$(nproc)
make install