欢迎光临
我们一直在努力

08.国产构建工具之王xmake——添加生成后事件和脚本域的使用

目录

一、 引言

二、 正文

1. 添加编译后事件

2. xmake.lua的脚本域

3. 补充知识

三、 结语


写在前面

原创不易,每一篇文章都是花费大量的时间编写而成,个人认为都是干货满满!如果各位觉得对自己有帮助,请动动您发财的小手,关注本账号, 我将持续为大家带来优质内容!

所有内容首发都将在公众号【飞翔的SA】,也请大家移步公众号阅读,您的支持是我坚持的动力。


一、 引言

在软件开发和部署的某些时刻,我们需要执行一些特定操作,才能保证软件可以正常运行,例如包含第三方库的工程中,生成可执行程序后,需要将第三方库中的动态库拷贝至输出目录下,可执行程序才能运行。每次编译完成后都进行手动拷贝,非常枯燥且易错,xmake作为一款现代化的跨平台构建工具,充分考虑了这类需求,在配置、加载、编译、运行、打包等各个动作执行的过程中,允许开发者添加自定义脚本并自动执行,将一些特定操作纳入自动化体系,大幅提升开发效率与流程规范性。

本文就以添加编译后事件为例,介绍xmake中添加自定义脚本的方式和xmake脚本域特征。

文中使用的软件及版本:vs2019,xmake3.0.6,请预先安装!

二、 正文

1. 添加编译后事件

在“05.国产构建工具之王xmake——添加第三方库”文中,我们创建一个名为“Triangle”工程,此工程是一个基于GLFW库和OpenGL在windows窗口中渲染三角形的程序。

在此工程的xmake.lua 中,我们通过 add_links(“glfw3”) 添加了第三方库文件glfw3.lib。glfw3.lib为静态库文件,会被整体编译到可执行程序Triangle.exe中,可执行程序的体积会比较大,而且包含的静态库越多,体积越庞大,所以一般我们会使用动态链接的方式构建工程。

修改Triangle的xmake.lua如下图所示,我们通过添加动态库的引导库glfw3dll.lib,将链接方式修改为动态链接。

图片

执行构建,通过。

图片

执行运行,报错

之所以报错,是因为我们修改为动态链接的形式后,运行Triangle.exe时,Triangle.exe需要检索依赖的动态库glfw3.dll, 一旦检索失败就会出现上图所示的运行错误。可执行程序检索依赖的动态库时,会按照可执行程序所在目录、环境变量path中目录、系统库目录的优先级检索,所以要解决运行报错的问题,只需要将glfw3.dll拷贝到其中一个目录中即可,为了不污染系统目录,我们一般会选择可执行程序目录。如图所示

图片

赞(0)
未经允许不得转载:171主机测评 » 08.国产构建工具之王xmake——添加生成后事件和脚本域的使用
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址