C++开源DirectUI库SOUI简介
- 前言
- SOUI 简介
- SOUI 编译方法
- SOUI 下载地址
- SOUI Demo 下载地址
前言
今天使用 PDown 时发现这个软件使用SOUI库,于是查了一些,先查个眼。
SOUI 简介
SOUI是目前为数不多的轻量级可快速开发 window 桌面程序开源 DirectUI 库.其前身为 Duiengine,更早期则是源自于金山卫士开源版本 UI 库 Bkwin.经过作者多次开发维护升级后得此库.
SOUI其寓意为"瘦 UI" "UI,just so so!",目的就是能够快速开发,并且在产品发布局时不需要携带其它额外的第三方依赖库,高度精简及集中;模块化使得渲染模块,图片解码模块,资源
打包压缩模块得以清晰分离,更能够高度的自定义.UI 解析目前可采用的是 XML 布局,便于理解各控件之间的层级关系及其自身的属性设置.目前已有很多成功的商业产品,深受广大开发者及
企业的青睐。
SOUI 编译方法
- SOUI提供了多种编译方式包括 qmake,cmake,nmake 等等.我们推荐使用 qmake 方式生成符合自己的 Visual Studio 版本项目工程文件,当然,如果你有兴趣也可以尝试 cmake 与 nmake 两种方式
qmake
(推荐)使用 git 摘取代码后,进入代码根目录,双击运行”build.bat”
1.选择编译版本[1=x86;2=x64;3=x86+x64]:
选择需要编译的 cpu 架构(eg:1 则表示生成 win32 的可执行文件)2.选择开发环境[1=2008;2=2010;3=2012;4=2013;5=2015;6=2017;7=2005]:
选择对应的 Visual Studio 版本(eg:1 表示选择使用 Visual Studio 2008)注意SOUI至少需要 Visual Studio 2008 SP1 及以上的 Visual Studio 版本3.选择SOUI编译模式[1=全模块 DLL;2=全模块 LIB;3=内核 LIB,组件 DLL(不能使用 LUA 脚本模块)]:
选择生成内核的文件方式(eg:1 表示所生成的内核文件及组件均为 dll)4.选择字符集[1=UNICODE;2=MBCS]:
(推荐选 1)5.将 WCHAR 作为内建类型[1=是;2=否]:
(推荐选 1)6.选择 CRT 链接模式[1=静态链接(MT);2=动态链接(MD)]:
(根据自大项目需求选择)7.是否为 release 版本生成调试信息[1=生成;2=不生成]:
(根据自大项目需求选择)open[o], compile[c] "soui.sln" or quit(q) [o,c or q]?
输入英文字母 o 表示打开工程项目,c 表示直接编译 debug 与 release,q 表示直接退出当前窗口
nmake
(目前仅支持编译成 dll 形式)- 打开编译工具命令控制台窗口,输入”nmake”,默认生成 x86 release 的 soui 内核依赖与两个渲染组件(gdi 各 skia) 图片解码组件为 png 还有 demo 运行程序,CRT 为动态链接
- 其它额外编译参数如下:
nmake TYPE=Debug
表示生成 x86 debug 模式nmake ABI=x64
表示生成 x64 的 release 模式,如果需要 debug 模式在后面增加TYPE=Debug
即可nmake CRT=-MT
表示静态链接 CRT
cmake
- 从 cmake 官网下载 cmake 的最新 Release 版本,这里以 cmake-3.15.4-win64-x64.zip 举例。
- 将 cmake-3.15.4-win64-x64.zip 解压后运行 bin 目录下的 cmake-gui.exe。
- 选择 soui 源码目录和 cmake 临时文件生成目录,点击 Configure。
- 弹出临时文件目录不存在,是否创建?选择 Yes。
- 选择需要生成的 VS 版本(如果未安装会生成失败,根据实际情况选择)和需要生成的编译版本(Win32\x64),点击 Finish。
- 根据需要选择生成方式:内核和组件模块的(静态链接或动态链接);是否使用 CRT;Unicode 或多字节;点击 Generate 开始生成。
- 生成完毕,显示”Generating done”,此时点击 Open Project 打开项目(也可以双击 cmake 临时文件生成目录中找到 sln 文件打开)
- 在 VS 中编译,编译完成后,在 soui 源码的 bin 目录下可以找到生成出来的 dll(或 lib)和 exe。
SOUI 下载地址
- 国内 Git 下载站点
- 国外 Git 下载站点
SOUI Demo 下载地址
https://github.com/soui3-demo
http://www.taodudu.cc/news/show-2185969.html
相关文章:
- SOUI中View类型的控件数据更新的例子
- SOUI消息订阅事件实例
- SOUI编译
- 使用 SOUI 开发高 DPI 桌面应用程序
- SOUI中几个view视图控件的基本使用
- MFC中使用SOUI的窗口示例
- SOUI笔记
- SOUI控件的自绘和消息处理
- soui中展示图片
- soui 设置边框_第四篇:SOUI资源文件组织
- 关于SoUI界面库处理从WM_LBUTTONUP到按钮事件的消息路由过程分析
- Soui Button学习一
- SOUI知识点小结2
- soui 设置边框_第三十四篇:在SOUI中使用异步通知
- SOUI皮肤浅谈
- SOUI Text控件不同状态设置不同颜色的方法
- soui 设置边框_UI神器-SOUI
- soui 设置边框_SOUI入门
- SOUI使用总结知识汇总.
- SOUI使用过程知识点小结1
- Soui教程_v20201024
- Java 应用SAXReader 解析网络地址 XML
- 使用SAXReader读取xml文件时的路径问题
- 通过SAXReader解析XML
- xml解析工具 SAXReader 的使用
- SAXReader解析xml文件
- 使用SAXReader以XML方式解析excel
- saxreader java_SAXReader saxReader = new SAXReader();来解析xml文件
- DOM SAXReader
- java saxreader 字符串_解析XML文件(字符串)的两种方法-----SAXReader 与 DocumentHelper...
C++开源DirectUI库SOUI简介相关推荐
- C++ DirectUI库 SoUI
SOUI是什么?SOUI是一个C++ DirectUI库. 虽然DirectUI不是什么新技术,但是要把UI做好,DirectUI确实是目前为止最有效的解决方案. SOUI不是一个新项目,它是基于作者 ...
- android lib 界面库,全开源C++ DirectUI 界面库SOUI 3.0更新
全开源C++ DirectUI 界面库SOUI 3.0更新 发布时间:2019-08-04 16:10, 浏览次数:1077 , 标签: DirectUI SOUI 从2019.5.22开始,SOUI ...
- apache madlib 教程_Apache顶级开源项目——机器学习库MADlib简介与应用实例
原标题:Apache顶级开源项目--机器学习库MADlib简介与应用实例 Apache MADlib是Pivotal与UCBerkeley合作的一个开源机器学习库,提供了精确的数据并行实现.统计和机器 ...
- 纠删码开源软件Jerasure库接口简介及性能测试
原文见链接基于柯西矩阵的Erasure Code技术详解 原文见链接基于范德蒙矩阵的Erasure code技术详解 原文见链接一个IO的传奇一生(12)-- 磁盘阵列1 原文见链接Microsoft ...
- 【深度学习】基于Torch的Python开源机器学习库PyTorch卷积神经网络
[深度学习]基于Torch的Python开源机器学习库PyTorch卷积神经网络 文章目录 1 CNN概述 2 PyTorch实现步骤2.1 加载数据2.2 CNN模型2.3 训练2.4 可视化训练 ...
- 【深度学习】基于Torch的Python开源机器学习库PyTorch概述
[深度学习]基于Torch的Python开源机器学习库PyTorch概述 文章目录 1 PyTorch简介 2 环境搭建 3 Hello world!3.1 Tensors (张量)3.2 操作 4 ...
- Java开源——常见J2EE框架简介
Java开源--常见J2EE框架简介 Spring Framework Spring是一个解决了许多在J2EE开发中常见的问题的强大框架. Spring提供了管理业务对象的一致方法并且鼓励了注入对接口 ...
- 【流媒體】jrtplib—VS2010 下RTP开源协议库JRTPLIB3.9.1编译
[流媒體]jrtplib-VS2010下RTP开源协议库JRTPLIB3.9.1编译 SkySeraph Apr 7th 2012 Email:skyseraph00@163.com 一.JRTPLI ...
- Py之GraphLab:graphlab库的简介、安装、使用方法之详细攻略
Py之GraphLab:graphlab库的简介.安装.使用方法之详细攻略 目录 graphlab库的简介 1.GraphLab是什么 2.GraphLab的五大特点 3.为什么需要GraphLab ...
- Py之scikit-learn:机器学习Sklearn库的简介、安装、使用方法(ML算法如何选择)、代码实现之详细攻略
Py之scikit-learn:机器学习Sklearn库的简介.安装.使用方法.代码实现之详细攻略 目录 scikit-learn的简介 scikit-learn的安装 scikit-learn的使用 ...
最新文章
- python 字符串 转 dict
- 高并发之——创建线程池居然有这么多方式...
- OSSIM系统的安装教程(超详细)
- 浅析校园安防视频监控设备发展趋势
- 淘宝姐姐不要过滤掉js我们还是好朋友
- 评估指标:ROC,AUC,Precision、Recall、F1-score
- android 引用jar的r文件,正确的方法来处理Android库的ant构建. Build从jar文件中排除R.class...
- 【工具】ubuntu下在百度云文件
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(七)界面安装
- log4j与commons-logging,slf4j的关系
- 文档声明和HTML样式表
- Windows 系统补丁管理策略
- python爬虫requests源码链家_python爬虫——爬取链家房价信息(未完待续)
- 载入页面时与服务器的连接被重置。_快捷指令打不开怎么回事?安装快捷指令无法载入的解决办法...
- 提高Java开发效率,Idea必装的几款插件
- Linux命令解释之passwd
- 字符串常量强制转换为字符指针
- 2021年茶艺师(中级)考试内容及茶艺师(中级)考试总结
- Deep Learning论文翻译(Nature Deep Review)
- Bugku-web-秋名山老司机
热门文章
- 判断网络问题不只ping还有tracert,以及tracert原理
- python参考文献及其出版社_金融工程及其Python应用(高等院校财政金融专业应用型教材) 正版 朱顺泉 9787302510758_朱顺泉_孔夫子旧书网...
- word打印高清图片
- 转:Delphi开发经验谈
- matlab-液压阀仿真
- 没有你不会的CAD?CAD知识整理上集
- 0_freeCAD_介绍,下载,语言设置
- PHP:解析url和查询参数query
- 春节怎么抢红包,python一招告诉你再也不会错过微信红包
- 大牛直播十万个为什么