热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7.9下Libwebsockets源码编译与测试指南

本文档详细介绍了在CentOSLinux7.9系统环境下,如何从源代码编译安装libwebsockets库及其示例程序,并提供了编译过程中可能遇到的问题及解决方案。

一、环境配置

操作系统:CentOS Linux 7.9.2009 (Core)
编译器版本:GCC 4.8.5 20150623 (Red Hat 4.8.5-44)
Libwebsockets 版本:v4.3.0


二、获取源码

源码可以从 GitHub 的官方仓库下载:
地址:https://github.com/warmcat/libwebsockets
建议直接下载 Release 版本以避免不必要的错误。


三、编译流程


1、构建库文件和头文件

首先,将下载的压缩包解压,并在根目录下创建一个名为 build 的文件夹用于存放编译结果。
接着,进入 build 文件夹,运行以下命令进行编译:

cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../output
make
make install

完成上述步骤后,将在根目录下生成 output 文件夹,其中包含了编译后的头文件以及静态库文件 libwebsockets.a 和动态库文件 libwebsockets.so。


2、编译示例程序

Libwebsockets 提供了多个示例程序,位于根目录下的 minimal-examples 文件夹内。需要使用 cmake 分别对每个示例进行编译。
注意:如果之前更改了库文件的默认安装路径,则需要相应地调整 CMakeLists.txt 中的库和头文件路径设置。


(1)配置库和头文件路径

例如,在 ws-server/minimal-ws-server 目录下的 CMakeLists.txt 文件中,添加如下行以指定库和头文件的位置:

include_directories(../../../output/include)
LINK_DIRECTORIES(../../../output/lib)


(2)编译示例程序(minimal-ws-server)

在 minimal-ws-server 目录中执行以下命令来编译示例程序:

cmake . -DLWS_WITH_MINIMAL_EXAMPLES=1 -DLWS_ROLE_WS=1 -DLWS_WITH_SERVER=1
make


(3)测试示例程序(minimal-ws-server)

假设您的虚拟机 IP 地址为 192.168.9.23,可以通过物理机上的浏览器访问此地址来测试示例程序。
启动示例程序后,打开两个浏览器窗口,输入 URL 192.168.9.23:7681,即可实现消息的互相传递。


四、常见问题解决


1、找不到 OpenSSL

错误信息:
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_INCLUDE_DIR)

原因:系统缺少 OpenSSL 开发库。
解决方案:通过以下命令安装 OpenSSL 及其开发库:

sudo yum install -y openssl openssl-devel


推荐阅读
author-avatar
忄幹_856
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有