C/C++ library for Integrated Remote Console client
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 个月前 | ||
| 5 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 5 个月前 | ||
| 1 年前 | ||
| 5 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 |
libirc
Integrated-remote-console client libraries
windows部署环境
1、编译需要visual studio + cmake + openssl + boost源码(也可以使用预编译版组织目录)
1.1 例子使用的环境visual studio2022 + boost_1_87_0 + cmake 4.0.1 + openssl 3.5.0
部署完环境,按照实际的路径修改配置config.ini; 将boost源码解压到.\boost_src目录,确保解压后目录存在.\boost_src\bootstrap.bat; 然后执行build.bat即可; 测试工具的可执行文件在bin目录里面; 我们提供的API会以静态库形式,在libs目录下生成。
Linux gcc编译环境
1、编译需要gcc/g++ + cmake + openssl + boost
1.1 例子使用的环境gcc 14.3.0 + cmake 3.28.3 + boost 1.83.0 + openssl 3.0.13
当前工程使用C++14标准,Linux环境下指定使用gcc/g++ 14.3编译;
cmake需要最低3.15版本;
boost建议最低使用1.82.0版本,需要filesystem、json、system组件;
openssl建议使用3.0或更高版本,并确保已安装开发头文件和库。
不需要修改系统默认gcc,不需要执行update-alternatives切换默认编译器。
1.2 Ubuntu依赖安装
apt-get install -y gcc g++ cmake libssl-dev libboost-dev libboost-filesystem-dev libboost-json-dev
1.3 确认gcc 14.3路径
如果gcc 14.3安装在独立目录,例如/opt/gcc-14.3,可以先确认版本:
/opt/gcc-14.3/bin/gcc --version
/opt/gcc-14.3/bin/g++ --version
如果系统提供的命令名是gcc-14/g++-14,也可以确认实际版本是否为14.3:
gcc-14 --version
g++-14 --version
1.4 使用gcc 14.3配置并编译
使用独立安装路径时:
cmake -S . -B build-gcc-14.3 \
-DCMAKE_C_COMPILER=/opt/gcc-14.3/bin/gcc \
-DCMAKE_CXX_COMPILER=/opt/gcc-14.3/bin/g++
cmake --build build-gcc-14.3 --config Release
使用gcc-14/g++-14命令名时:
cmake -S . -B build-gcc-14.3 \
-DCMAKE_C_COMPILER=gcc-14 \
-DCMAKE_CXX_COMPILER=g++-14
cmake --build build-gcc-14.3 --config Release
1.5 清理后重新编译
cmake --build build-gcc-14.3 --clean-first --config Release
1.6 gcc编译产物
编译完成后,静态库和测试工具会生成在以下位置:
libs/libirc.a # irc静态库,开发者可依赖该库做二次开发
bin/authentication_test # 认证模块测试工具
bin/websocket_test # websocket/KVM客户端测试工具
2、本API开发说明
src目录存放的是API的所有代码
test目录存放的是API的测试代码,按照模块区分
3、部署指引
libirc库部署指引
3.1 部署概况:
3.1.1 依赖工具
1、boost
说明:建议最低使用1.82.0版本,项目下的构建工具可以自动构建boost。
指引中的例子使用的是boost 1.87.0版本。
下载地址:https://archives.boost.io/release/1.87.0/source/boost_1_87_0.7z
2、Visual Studio
说明:因为项目需要使用C++14标准的STL特性,建议使用Visual Studio 2017或更高版本(社区发行版即可)。
本例使用Visual Studio 2022社区版。
下载地址:https://visualstudio.microsoft.com/zh-hans/vs/?a=10
3、cmake
说明:需要最低3.15的版本。
下载地址:https://cmake.org/
4、openssl
说明:需要满足对应的boost所需要的openssl版本要求。建议使用openssl 3.2.0或更高版本。。
下载地址:https://slproweb.com/download/Win64OpenSSL-3_5_0.exe
3.1.2 设置boost源码目录
1、解压boost_1_87_0.7z到libirc的代码根目录下;
2、修改libirc目录下的boost_1_87_0解压目录的名字为:boost_src;
3、当执行build.bat(构建脚本)后,会根据boost_src生成boost目录。
3.1.3 配置文件config.ini
1、目的是让libirc能通过配置的路径找到编译器、openssl的路径以及generator的版本等信息,以免更为繁琐的环境变量设置。
2、配置字段含义:
C_COMPILER # C编译器的路径
CXX_COMPILER # C++编译器的路径
OPENSSL_ROOT_DIR # OPENSSL的根目录
OPENSSL_INC # OPENSSL的头文件目录
OPENSSL_LIB # OPENSSL的库目录,需要包含crypto ssl等静态库
GENERATOR # CMAKE项目生成器工具
3.1.4 构建工具build.bat
当依赖的环境部署完毕后,开发者可以直接在命令行运行build.bat即可。
执行后的目录结构如下:
.
|-- bin # example中给出的例子的二进制库文件目录(生成)
|-- boost # 依据boost_src中的源码生成的boost安装目录(生成)
|-- boost_src # 存放boost源码(部署时,手动构建)
|-- build # CMake的项目构建目录(生成)
|-- example # 本项目给出的例子
|-- libs
| |-- Release
| | |-- irc.lib # irc静态库,开发者可依赖该库做二次开发(生成)
|-- src
| |-- AuthClient # 认证功能
| |-- Image # 图像相关
| |-- Message # 报文相关
| |-- Public # 工具库,通用方法
| |-- Settings # 系统启动项设置
| |-- WebSocketClient # 实现KVM客户端websocket连接
| |-- CMakeLists.txt
| |-- KvmClient.cpp # KVM独立客户端接口定义
| |-- KvmClient.hpp
|-- .gitignore
|-- 部署指引.docx
|-- build.bat # 构建工具(在命令行手动执行)
|-- CMakeLists.txt
|-- config.ini # 依赖工具路径配置(需要手动设置)
|-- LICENSE
|-- README.md
3.2 部署详细过程:
部署详情可以clone项目到本地查看《部署指引.docx》