• 如果觉得本站的内容有帮助,可以考虑打赏博主哦!

  • 本站会放置Google广告用于维持域名以及网站服务器费用。

  • 计算机图形学与计算几何经典必备书单整理,下载链接可参考:https://www.stubbornhuang.com/1256/

  • 欢迎大家交换友链,可在https://www.stubbornhuang.com/申请友情链接进行友链交换申请!

  • 在本站开通年度VIP,无限制下载本站资源和阅读本站文章

  • 问题反馈可发送邮件到stubbornhuang@qq.com

  • 感谢大家访问本站,希望本站的内容可以帮助到大家!

  • 工资「喂饱肚子」,副业「养活灵魂」!

  • 本站由于前段时间遭受到大量临时和国外邮箱注册,所以对可注册的邮箱类型进行了限制!

NIM_Duilib – 使用Visual Studio编译NIM_Duilib

NIM_Duilib 发布于2024-02-21 阅读 1,828次 0次评论 0次点赞 本文共1520个字,阅读需要4分钟。

NIM_Duilib刚刚开始开源的时候我就注意到了这个项目,因为一直在用Duilib,并且对DirectUI这种方式很认同,加上NIM_Duilib仓库的控件截图相比于Duilib要美化不少,所以当时马上就克隆了NIM_Duilib的仓库进行了编译,不过当时出现了很多的编译问题,加上当时有项目在手上需要赶进度,所以马上就弃坑了,今天刚刚好有时间那就重新开始认识NIM_Duilib吧。

1 NIM_Duilib是什么?

Duilib是windows平台下的一款轻量级directUI开源库(遵循BSD协议),完全免费,可用于商业软件开发,只需在软件包里附上协议文件即可。Duilib可以简单方便地实现大多数界面需求,包括换肤、换色,透明等功能,支持多种图片格式,使用XML可以方便地定制窗口,能较好地做到UI和逻辑相分离,尽量减少在代码里创建UI控件。目前,Duilib库已经渐趋稳定,目前在国内有较为广泛的使用,网络上也有很多的使用教程。

Duilib是网易在研发易信PC版时被引入,历经六七年的研发过程,相对于原版Duilib,网易云信Duilib修复了一些问题和不足,包括但不限于控件种类不丰富、不支持动画、不支持半透明异形窗体、对多线程支持不好等,目前,网易云信Duilib配合比较高效的引擎库Base解决多线程问题,可以做出功能更强更稳定的客户端界面。NIM Duilib 包含了一整套桌面软件的开发部件,与其说这是一个界面库,不如说它是一个开发框架。从原有 Duilib 基础上拓展了一些新的能力,并整合了 Google base 基础类库(线程、内存、闭包等)。

github地址:https://github.com/netease-im/NIM_Duilib_Framework

2 在Visual Studio 2019中编译NIM_Duilib

2.1 克隆仓库并切换到develop分支

使用以下命令克隆仓库

git clone https://github.com/netease-im/NIM_Duilib_Framework.git

这里需要注意的是我们需要将仓库切换到develop分支,原本的master分支在编译libcef_dll_wrapper项目时会出现以下错误

error: C2039 "_Ref_count_obj": 不是 "std" 的成员

参考这个issue:https://github.com/netease-im/NIM_Duilib_Framework/issues/363

2.2 编译项目

切换分支之后,进入仓库根目录下的example文件夹,使用Visual Studio 2019打开example.sln项目文件

然后依次修改base、duilib、ui_components、以及third_party下的libcef_dll_wrapper项目的属性。

在配置属性-常规中的平台工具集修改为Visual Studio 2019 (v142),Windows SDK版本选择本机上安装的SDK版本即可。

NIM_Duilib  - 使用Visual Studio编译NIM_Duilib-第0张图片

修改完成之后编译即可。

2.3 编译输出

各个项目编译完成之后,可以在仓库根目录下的libs文件夹找到所编译的静态库。

  • 32位静态库输出目录为libs
  • 64位静态库输出目录为libs/x64。
  • Debug静态库为:base_d.lib、duilib_d.lib、libcef_dll_wrapper_d.lib、ui_components_d.lib
  • Release静态库为:base.lib、duilib.lib、libcef_dll_wrapper.lib、ui_components.lib

后面我们配置NIM_Duilib新项目是需要引入这些静态库。

欢迎扫码关注我的微信公众号,及时获取文章更新

微信公众号二维码

本文作者:StubbornHuang

版权声明:本文为站长原创文章,如果转载请注明原文链接!

原文标题:NIM_Duilib – 使用Visual Studio编译NIM_Duilib

原文链接:https://www.stubbornhuang.com/2994/

发布于:2024年02月21日 13:57:12

修改于:2024年02月22日 13:25:23

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章末尾
上一篇
Duilib - 如何新增自定义控件
Duilib
下一篇
NIM_Duilib - 在Visual Studio中配置新的NIM_Duilib项目开发环境
NIM_Duilib
当前分类随机文章推荐

发表评论

您必须 [ 登录 ] 才能发表留言!

关注我们的公众号

微信公众号