既然是入门教程,那当然得基础点,因为搜索duilib相关资料时,发现有些小伙伴到处都是编译错误,以及路径配置错误等等,还有人不知道SVN,然后一个个文件手动下载的。    其实吧,duilib的定位好像是这样的: 有一定的界面基础,懂MFC、WTL、windows消息机制等等。 不然的话,即使环境配置好了,看Demo也绕晕你~(^o^)/~
    所以对于没有任何基础的童鞋,请先打好基础,不然学习duilib会走更多歪路,推荐以下资料:
    书籍:《windows程序设计
    教程: 孙鑫视频(这个我只下载了,但没看过,不过评价不错)
    网站:国际知名网站 (国外网站:现在比codeguru好很多了,虽然是英文,但是有图文描述,加上翻译软件,源码面前了无秘密)
               编程入门网(国内网站:我大学做QQ申请器时根本就不懂MFC,结果硬是一个个控件的查资料,就靠它了)
               VC知识库(国内网站:现在有些要收费了)
               其他的网站就不一一列举了,因为后来找资料都直接上codeproject,所以很多网站早就记不清楚了。
    
     
    即可下载到duilib的代码,如图:
    

二、SVN的使用就介绍完了,下面接着duilib的环境配置:
    1、打开duilib.sln
    

2、在解决方案【Duilib】上右键选择【设为启动项目】
    

3、在系统菜单【生成】里选择【批生成】
    

4、先点击【全选】,再点击【生成】即可生成dll和Demo
    

5、你会发现一些编译错误,没关系,这只是某个工程在Unicode编译不通过而已,不过我们有多字节的exe可以看效果就行了。
    吐槽:由于官方群不会在意这些细节问题,所以这个bug一直留在那里。本来想给它改了这个bug,但是后来发现Demo太乱了,我需要做的事情远比这个重要,而且对于入门者来说,这真的只是其中很小的一个问题。并且发过另一个bug修改给官方,很久了都没合并到SVN上面去,所以也无能为力了。(其实这些都是懒的借口~(^o^)/~)  
    友情提示下,官方群的态度有很多种,比如【提问的目的是获得启发,而不是解决现有的困境 】、【推崇第一个提出问题的人解决问题】等等,如果小伙伴们去提建议啥的,很可能会被气得退群(据说发生过多次类似事件),所以,学学群里常见的态度:请【不要在意那些细节】~(^o^)/~
    对于一个开源项目,作者的精神已经很值得佩服了,这个开源库比大部分商业库都要好,可谓集作者多年之心血,现在开源出来,却被天朝的环境所XX了,所以作者不再维护这个库我们是非常理解的。
    不过还是希望没有接触过Unicode的小伙伴们能把这个编译错误改了,练手的同时也修复了bug,一举多得~O(∩_∩)O~
    

6、虽然有部分编译错误,但是已经生成了dll,并且可以在bin目录看到各种Demo,小伙伴们先打开exe试试效果吧^_^   
     

7、配置VS环境(为了照顾新手,就直接用SVN代码的目录了)
    在VS的菜单里,选择【工具】-【选项】-【项目和解决方案】-【VC++目录】,
     
    在【包含文件】中添加目录,其路径为【Duilib】的路径,    在【库文件】中添加目录,其路径为【Lib】的路径
    其中【bin】目录里的是dll,后面自己新建工程时需要拷贝到exe目录下     
    

8、环境配置好后,就可以开始使用duilib啦。
    怎么新建工程就不说了,win32、MFC工程都可以。
    要记住的是,需要把dll(dll在【bin】目录里)拷贝到自己工程的exe目录下,不了解的干脆就把4个dll都放到自己工程的Debug及Release下吧。
    

如下图,将4个dll放到自己工程的exe目录下
    

环境配置教程到此结束,如有不懂或者不妥之处,请直接在评论里留言~(^o^)/~

==========================================
最近谷歌被墙了。所以,如果找不到duilib库 可以跟帖,或者联系管理员。或者 加交流群。

duilib教程之duilib入门简明教程2.VS环境配置的更多相关文章

  1. duilib教程之duilib入门简明教程17.事件处理和消息响应

    界面的显示方面就都讲完啦,下面来介绍下控件的响应.    前面的教程只讲了按钮和Tab的响应,即在Notify函数里处理.其实duilib还提供了另外一种响应的方法,即消息映射DUI_BEGIN_ME ...

  2. duilib教程之duilib入门简明教程14.部分bug 2

    上一个教程中提到了ActiveX的Bug,即如果主窗口直接用变量生成,则关闭窗口时会产生崩溃      如果用new的方式生成,则不会崩溃,所以给出一个临时的快速解决方案,即主窗口都用new生成,_t ...

  3. duilib教程之duilib入门简明教程15.自绘控件

    在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如菜单控件 ...

  4. duilib教程之duilib入门简明教程13.复杂控件介绍

    首先将本节要介绍的控件全部拖到界面上,并调整好位置,如图:  然后将Name属性改成其他名字,         不能是[控件名+UI+数字]这种,因为这是DuiDesigner默认的名字,它不会实际写 ...

  5. duilib教程之duilib入门简明教程11.部分bug

    一.WindowImplBase的bug    在第8个教程[2013 duilib入门简明教程 -- 完整的自绘标题栏(8)]中,可以发现窗口最大化之后有两个问题,    1.最大化按钮的样式还是没 ...

  6. duilib教程之duilib入门简明教程3.第一个程序 Hello World

    小伙伴们有点迫不及待了么,来看一看Hello World吧:新建一个空的win32项目,新建一个main.cpp文件,将以下代码复制进去: #include <windows.h> #in ...

  7. duilib教程之duilib入门简明教程1.前言

    关于duilib的介绍就不多讲了,一来不熟,二来小伙伴们想必已经对比了多个界面库,也无需赘述.下面进入正题:    不看广告看疗效! 已有众多知名公司采用duilib做为界面库,如华为网盘.PPS(P ...

  8. duilib教程之duilib入门简明教程9.界面布局

    上一个教程实现的标题栏代码中,并没有看到处理自适应窗口大小的代码,但是窗口大小变化后,按钮的位置会跟着变化,这是因为我们将按钮放到了HorizontalLayout.VerticalLayout,这样 ...

  9. duilib教程之duilib入门简明教程16.结合win32和MFC

    虽然duilib自带在MFC中使用duilib的Demo,但只是MFC窗口和duilib窗口不重叠的情况.如果要在MFC窗口中嵌入duilib控件,或者在duilib控件中嵌入MFC的控件的话,就没有 ...

随机推荐

  1. LeetCode刷题笔记-贪心法-格雷编码

    题目描述: 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异. 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列.格雷编码序列必须以 0 开头. 来源:力扣(Leet ...

  2. 拾遗:Git 基础

    http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/ 一.参数配置 $ git con ...

  3. 剑指offer——10跳台阶演变

    题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法.   题解: 纯找规律题:   class Solution { public: ...

  4. 13-Ubuntu-查阅终端命令版本信息和帮助信息

    查看版本信息: 终端命令 --version 查看帮助信息: 终端命令 --help 注: 待查阅的命令 后面有两个减号-- 例:查看终端命令ls的版本和帮助信息 ls --version ls -- ...

  5. 在线文库解决方案Jacob+SwfTools+FlexPaper

    课程作业,准备做一个类似于豆丁之类的在线文库,解决方案也就是将文档(doc ppt xls)等转换成pdf,然后转成swf展示在页面中,今天下午经过研究,参考其他人的博客,实现了这个主要功能,这里也做 ...

  6. 基于第三方开源库的OPC服务器开发指南(3)——OPC客户端

    本篇将讲解如何编写一个OPC客户端程序测试我们在前文<基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署>一篇建立的服务器.本指南的目的是熟悉OPC服务器的开发流 ...

  7. DEV的GridControl控件的选中列属性设置高光

    设置Run Designer=>Views=> OptionsSelection下面的: EnableAppearanceFocusedCell = False,//鼠标移开,失去焦点,仍 ...

  8. 如何使用flow进行静态类型检查

    Flow 是 facebook 出品的 JavaScript 静态类型检查⼯具.Vue.js 的源码利⽤了 Flow 做了静态类型检查,所以了解 Flow 有助于我们阅读源码. 为什么⽤ Flow? ...

  9. Mysql查漏补缺

    Mysql查漏补缺 存储引擎 数据库使用存储引擎来进行CRUD的操作,不同的存储引擎提供了不同的功能.Mysql支持的存储引擎有InnoDB.MyISAM.Memory.Merge.Archive.F ...

  10. bcolz

    raise Exception("this is an ex") bcolz总结: 0.需要用bcolz的columns需要为ndarray的列,不能直接拿list去赋值,因为我发 ...