[TOC]
该项目基于 Qt 实现一个简易的插件框架。
- 通过编写动态库插件添加功能。
git clone --recursive git@github.com:august295/EasyPluginFramework.git
C++11(及以上)Cmake3.15.0(及以上)Qt5
使用 CMake 创建工程。如果使用非 Qt Creator 打开工程,需要设置 cmake/module_qt.cmake 中 qt 的路径。
# 三方库默认 64 位,
cmake -B"build" -G"Visual Studio 17 2022"
CMakeLists.txt 生成项目所需的自定义模块。
IPlugin.hpp 是插件抽象类,插件通过继承该类实例化。
TSingleton.hpp 是单例类模板。奇异递归模板模式(Curiously Recurring Template Pattern,CRTP):把派生类作为基类的模板参数。
Library.hpp 动态库加载宏,方便跨平台。
TSingleton.hpp C++11 线程池1,用于进行多线程数据转发。
resources 放置所有资源文件。
启动界面,后续可能多个可执行程序,需要改成动态库。
ConfigManager 继承实现单例,配置管理。
PluginManager 管理插件的加载。
DataManager 继承实现单例,数据管理。
Framework 整体框架。
插件。