libwebsockets是一个高性能的开源C语言库,专为实现WebSocket协议及相关的HTTP协议而设计。它不仅使开发者能够在客户端与服务器端轻松构建WebSocket连接,还可以用作标准HTTP服务器。WebSocket是一种在单个TCP连接上进行全双工通信的协议,可以促进浏览器与服务器间实时、互动数据交换的能力,为现代网络应用提供了强大的支持。
libwebsockets在处理如HTTPS和WSS等安全连接时,依赖于OpenSSL提供的强大加密功能来保障数据的安全性。同时,为了提高网络传输效率,libwebsockets还利用ZLib库进行数据压缩。因此,在交叉编译libwebsockets库之前需要先交叉编译OpenSSL和ZLib这两个依赖库。接下来,将跟各位小伙伴详述将这三大库移植至ELF 1开发板的具体步骤。
开发环境操作系统:Ubuntu18.04
交叉编译链:arm-poky-linux-gnueabi-gcc
内核版本:Linux4.1.15
交叉编译OpenSSL
1、下载源码
https://www.openssl.org/source/old/1.1.1/
2、拷贝openssl-1.1.1c.tar.gz到开发环境/home/elf/work目录下解压
elf@ubuntu:~/work$ tar -zxvf openssl-1.1.1c.tar.gz
3、进入openssl-1.1.1c目录,执行./config生成Makefile文件
elf@ubuntu:~/work$ cd openssl-1.1.1c/
elf@ubuntu:~/work/openssl-1.1.1c$ ./config no-asm shared --prefix=/home/elf/work/openssl-1.1.1c/install
4、修改Makefile
第8行修改为:
8 PLATFORM=linux-armv7
第124行修改为:
124 CNF_CFLAGS=-pthread
第125行修改为:
125 CNF_CXXFLAGS=-std=c++11 -pthread
注释掉90-92行、99行、103行、105-106行:
90 #CROSS_COMPILE=
91 #CC=$(CROSS_COMPILE)gcc
92

1126

被折叠的 条评论
为什么被折叠?



