Duilib第一步(I)-简介与环境搭建
Primus gradus
et cognoscetis veritatem et veritas liberabit vos.
--Johannes 8:32
Introduction
Duilib是翁淼青于2010年推出基于Win32平台——基于GDI的开源GUI库。目前(2017年)遵循MIT协议发布,参见:
https://github.com/duilib/duilib/blob/master/LICENSE
(但版权说明中谈到该项目遵循BSD协议发布,参见:https://github.com/duilib/duilib/blob/master/版权说明.txt)
Duilib具有轻量级特性,属于GUI库,不属于工具集,兼容MFC。界面设计可采用XML方式代替传统的代码书写方式。Duilib于2014年代码迁移至Github,项目地址:
https://github.com/duilib/duilib
获取方式不予赘述,下面介绍环境搭建。
Development enviroment setup
大约于2016年初,Duilib采用VisualStudio 2013编写并发布源码,而笔者仍使用Visual Studio2010(VisualStudio下载地址:https://www.visualstudio.com),所以需先配置DuiLib.vcxproj等项目配置相关文件,其中细节笔者不做讨论。以下示例以vs2010为准,版本高至vs2015皆与之类似,低版本未经测试。
下载好项目以满足版本要求的VisualStudio打开打开,卸载demos中各示例程序,在Debug模式下编译。编译生成lib文件与.dll文件。lib与.dll的文件名存在如下变化:
- Unicode字符集
- Debug配置:Lib\Duilib_ud.lib
- Release配置:Lib\Duilib_u.lib
- 多字节字符集
- Debug配置:Lib\Duilib_d.lib
- Release配置:Lib\Duilib.lib
生成动态链接库(.dll)文件命名规则与lib文件相同,Unicode字符集后缀在.dll之前加“_u.dll”,Debug模式在.dll之前加“d”或“_d”。采用何种字符集根据项目需要确定。
修改对VS2010的支持【可选】
当前Duilib支持VS2013开发环境,若要支持VS2010需要手动对项目文件进行修改。
打开DuiLib_Static.vcxproj和DuiLib.vcxproj两个项目文件,替换其中所有v110为v100。
为避免修改过于繁琐,删除或卸载(Unload)项目当中所有示例(Demo)程序,仅保留DuiLib项目。删除<directory>\duilib-master\bin和<directory>\duilib-master\lib目录下所有文件。
生成动态和静态库文件
按Debug/Release/Unicode Debug/Unicode Release四个编译选项编译项目。将<directory>\duilib-master\bin和<directory>\duilib-master\lib下所生成的动态、静态链接库保存起来以备使用。
新建项目
新建Win32项目,并添加DuiLib项目到当前解决方案集。项目名自拟。

将上一步生成的.dll和.lib文件复制到主程序文件夹下,并通过在主程序解决方案点击右键,并添加现有项目(Existing Item)添加到程序中。
将添加的项目整理到程序文件夹Duilib.libs下【可选】

至此,程序基本文件结构搭建完成。
Duilib第一步(I)-简介与环境搭建的更多相关文章
- 简介及环境搭建跑通Hello
简介及环境搭建跑通Hello Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.是为了解决企业应用程序开 ...
- Redis入门很简单之一【简介与环境搭建】
Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件 [Redis简介] <一>. NoSQL ...
- 一、springBoot简介与环境搭建
前言:学习计划 1.springBoot环境搭建 2.springBoot入门 3.srpingBoot整合Mybatis 4.springBoot整合Redis,Redis集群 5.springBo ...
- NetCore第一步:千里之行 始于环境构筑
今年的6月28号,微软发布了一个正式版本 NetCore.发布的同时,也同时发布了CoreStudio. 这个激动人心的时刻,让跨平台已经不再是什么神话. 让我们一起来开始Core的开发之旅吧. 万事 ...
- Spring ——简介及环境搭建跑通Hello
Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.是为了解决企业应用程序开发复杂性而创建的.框架的主要优 ...
- go语言之行--简介与环境搭建
一.Go简介 Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后 ...
- Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse
框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1.简单介绍Spring,主要是从网上借鉴一些重点 2.尽量说明清楚Spring的使用方法以及细节点 3.尽量以自己的理解 ...
- 1.SpringMVC的简介和环境搭建
SpringMVC的简介: SpringMVC 和 Struts一样是一个MVC框架,和Spring无缝连接,和struts2类似, Spring MVC属于SpringFrameWork的后续产品, ...
- Java学习第一步: Win7配置JDK环境
转摘"专注JavaWeb开发":http://www.javaweb1024.com/java/Javajichu/2015/03/02/353.html 下载JDK并安装到本机 ...
随机推荐
- java乱码详解(java中byte与char的转换)
转自:http://hi.baidu.com/%C6%F3%D2%B5%BC%D2%D4%B0/blog/item/825a4858d6248e8b810a181a.html java byte与 ...
- web开发概述
1 Web概述 Web,在英语中表示网页的额意思,它用于表示Internet主机上供外界访问的资源. 2 Web的分类 按照服务器上的资源分类: 静态资源:指的是web页面中供人们浏览的数据是始终不变 ...
- nginx配置文件中的location理解
关于一些对location认识的误区 1. location 的匹配顺序是"先匹配正则,再匹配普通". 矫正: location 的匹配顺序其实是"先匹配普通,再匹配正则 ...
- Linux中变量#,@,0,1,2,*,$$,$?的意思
$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示 ...
- React-Native 系列视频失效补链及一些碎碎念
最近很多朋友联系我要视频链接,说失效了,这边补一下链接,时间问题就不一篇一篇修改了: 链接:https://pan.baidu.com/s/1mj5Cak4 密码:wiq2 注:视频还是建议参考,因为 ...
- Spring常用注解简析
1. Autowired 自动装配,其作用是为了消除代码Java代码里面的getter/setter与bean属性中的property.当然,getter看个人需求,如果私有属性需要对外提供的话,应当 ...
- 让44.1版本的sketch打开更高版本的sketch文件
我们都知道,sketch的有效license与版本挂钩.最近设计师又更新了sketch版本,导致她生成的源文件我都无法打开. 毕竟我不是使用sketch进行UI设计,仅用它来查看设计稿参数,再花99美 ...
- 和spring cloud/boot 学习如何管理自己的组件
案例, 功能: 需要写一个往kafka上报数据的组建. 当组建启动时,需要建立如下资源: 1, 和kafka建立若干条连接 2, 启动一个线程池 3, 启动上报一个缓冲区 问题如下: 1, 如何在sp ...
- 使Eclipse下支持编写HTML/JS/CSS/JSP页面的自动提示
1.打开eclipse→Windows→Preferences→Java→Editor→Content Assist 修改Auto Activation triggers for java的值为:zj ...
- 《Thinking in Java》学习笔记(七)
1.关于反射还有一些需要补充的 package reflect; public class HiddenClass { public A HiddenA(){ return new A(); } } ...