您的位置:首页 > 其它

Gaclib 小白使用教程(1)

2017-11-02 19:20 148 查看
轮子哥的gaylib,小白教程。

环境:VS2017社区版

轮子哥gaclib源代码地址;https://github.com/vczh-libraries/Release

一、新建文件夹Gaclib_01,将源代码中的Import文件夹和Tools文件夹拷贝到此处,我们将在这个文件夹中创建工程,如下图1-1所示:



创建空项目Gaclib,然后在该空项目中添加空项目Launcher,如下图1-2所示:



二、Gaclib筛选器“头文件”重命名为“Import”,并添加Import文件夹中的如下文件,新建WinMain.cpp(直接拷贝源代码Release-master\Tutorial\Lib\GacUILite中的Winmain代码)如图2-1所示:



右键Gaclib 项目,设置属性,要分别设置:

(1)常规,选择静态库和使用unicode字符集

(2)C+>>常规中添加附加包含目录,包含Import文件夹

(3)C++>>预处理器设置为WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION

设置完毕之后F7编译可以看到生成的Gaclib.lib文件。

三、静态库已经有了,现在只需要调用就可以了,

(1)在解决方案下新建文件夹UIRes,Launcher文件夹中新建 文件夹UI,在UI文件夹中新建文件夹Source,将Tools中的GacGen32.exe和准备好的xml文件拷贝到UI文件夹中。在该 文件夹下打开命令行运行命令:GacGen32.exe  Resource.xml   ,之后将会自动在UIRes文件夹中生成bin文件,Source文件夹中自动c++代码。如果不按照之前说的先建立好空白文件夹将不能生成bin文件和c++代码。

(2)添加文件到Launcher项目中,主要包含引用库文件,UI文件夹中生成的类,Main.cpp(可直接复制源代码示例中的,基本相同)以及原始的xml文件,如下图所示:



(3)右键设置工程属性,做如下设置:

1、常规:使用 unicode字符集

2、VC++目录:包含目录添加Import

3、C++预处理器:WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions);VCZH_DEBUG_NO_REFLECTION

4、 链接器:系统》子系统设置为窗口

设置完成后能够正常编译,运行 如下图所示:



四、但是当我们点击 calculate按钮之后就会发现程序抛出异常,并没有完成计算。这是为什么呢?

仔细想想是因为我们压根就没有写这个点击按钮的函数,轮子哥自动帮我们生成了一个空壳,具体内容还要靠我们自己去填充 。联想起我之前使用的duilib,轮子哥让我们不再需要手去手写xml对应的类,用起来确实是爽的一笔,并且gaclib还提供了超级多的像数据绑定之类的超级方面超级爽的功能,这些是duilib远远不能给与我们的。轮子大法好!

好现在去找到生成的代码中,按钮对应的函数填充以下就可以了,直接去mainwindow.cpp中找到buttonCalculate_Clicked函数:



将throw ::vl::Exception(L"You should implement this function.");换上我们想要的代码:



这里的buttonCalculate_Clicked是我们在xml文件中就指定的函数名字,并不是凭空想出来的。

OK,保存,F7重新编译一下完美运行:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: