DuiLib_Ultimate项目搭建
下载DuiLib_Ultimate库
库链接:https://github.com/qdtroy/DuiLib_Ultimate
下载后目录结构如下:
编译生成库文件
注意:本文只介绍静态库版本,动态库请看下方作者教程
升级项目
打开项目后提示需要升级,那么这里点击确认即可
升级完成后,项目结构如下图所示
编译方式
该项目有很多种编译方式,详情请看下表。
编译模式 | 描述 |
---|---|
Debug | 使用 Unicode 字符集Debug模式动态库版本 |
DebugA | 使用多字节字符集Debug模式动态库版本 |
Release | 使用 Unicode 字符集Release模式动态库版本 |
ReleaseA | 使用多字节字符集Release模式动态库版本 |
SDebug | 使用 Unicode 字符集Debug模式静态库版本 |
SDebugA | 使用多字节字符集Debug模式静态库版本 |
SRelease | 使用 Unicode 字符集Release模式静态库版本 |
SReleaseA | 使用多字节字符集Release模式静态库版本 |
编译&归类
我们将所有静态库版本均编译出来,并对其进行目录归类。
这里我们只演示一种,其余与之原理相同
- 选择编译模式为SDebug,版本为Win32。
- 点击重新生成,不出意外均会成功。出意外只能求助作者了,我编译过程中未发现问题。
- 将编译好的文件放入
你选择的路径/Lib/x32/
下进行归类 - 编译其余所有版本并对齐进行归类…
- 最终目录结构如下
配置项目
更改输出目录为:$(ProjectDir)..\bin\
。
设置VC++目录中的包含目录和库目录
包含目录为DuiLib_Ultimate-master
项目中的DuiLib
文件目录。库目录为我们之前编译好的静态库存放目录
库目录我放在了DuiLib_Ultimate-master
项目中的Lib
文件夹中
添加预编译宏
在预处理器中,添加宏UILIB_STATIC
。
修改运行时库
创建项目
1. 创建Windows 桌面向导
2. 项目名写成自己的就好
3. 选择桌面应用程序
4. 删除所有代码除了main函数
5. 在framework.h
文件中添加项目环境
1 | // header.h: 标准系统包含文件的包含文件, |
6. 在wWinMain中添加DuiLib相关代码
1 | int APIENTRY wWinMain(_In_ HINSTANCE hInstance, |
7. 创建MainWnd
类,类名可以自定义,基类为WindowImplBase
生成后有一句include的代码,将其删除。改为引入framework.h
8. 创建构造函数,析构函数,实现父类的纯虚函数。
父类的纯虚函数有如下两个
1 | // 返回窗口UI布局文件名 |
在父类类名处右键,点击快速操作和重构
点击实现基”WindowImplBase”的纯虚方法
自动生成的头文件没有使用public
修饰,记得自己加上
实现纯虚方法
9. 在wWinMain中填写创建窗口代码
1 | // DuilibDemo.cpp : 定义应用程序的入口点。 |
10. 在Skins目录创建窗口布局文件
右键添加xml文件,在bin目录下
11. 添加UI筛选器
对UI文件进行归类,将MainWnd.xml在解决方案目录中拖拽到该筛选器中。
12. 编写窗口布局代码
1 |
|
13. 运行效果
至此,DuiLib项目已经创建完毕。打包发布的时候只需要将bin目录下的文件打包即可。对于UI布局和资源文件可以使用ZIP方式从资源中加载。如何实现该代码,请看后续文章~
文中项目链接: https://github.com/204065248/DuilibDemo
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 凌鸽技术博客!
评论