欢迎光临
我们一直在努力

17.国产构建工具之王xmake——msvc工具链(toolchain实战)

目录

一、引言

二、正文

1. msvc工具链目录结构

2. msvc 工具链定义——xmake.lua 

3. msvc 工具链定义——check.lua

4. msvc工具链定义——load.lua

三、结语


写在前面

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

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


一、引言

在上一篇文章中,我们介绍了xmake的构建工具链(toolchain)的基础知识,详细说明了toolchain的概念、语法定义和使用方式等基础知识。

本文我们将以xmake内建的msvc构建工具链为例,说明自定义构建工具链的方法和过程,对构建工具链有个更直观的印象。

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

二、正文

1. msvc工具链目录结构

msvc工具链路径: xmake-dev\\xmake\\toolchains\\msvc

msvc工具链源文件:

图片

xmake.lua : msvc toolchain的定义入口源文件

check.lua  : on_check的回调函数定义源文件

load.lua    :  on_load的回调函数定义源文件

2. msvc 工具链定义——xmake.lua 

1) 源码:

toolchain(\”msvc\”)

    set_kind(\”standalone\”)
    set_homepage(\”https://visualstudio.microsoft.com\”)
    set_description(\”Microsoft Visual C/C++ Compiler\”)
    set_runtimes(\”MT\”, \”MTd\”, \”MD\”, \”MDd\”)
 
    on_check(\”check\”)
    on_load(\”load\”) 

2) 说明

toolchain(\”msvc\”)

定义一个名为 msvc 的工具链,是 xmake 工具链体系的入口。

set_kind(\”standalone\”)

指定 MSVC 工具链的类型为「独立工具链」。该配置不影响工具链的实际功能,主要用于 xmake 内置文档 / 帮助信息展示,方便开发者查阅工具链官方资料。

set_homepage(\”https://visualstudio.microsoft.com\”)

设置工具链的官方主页链接,属于描述性元信息,该配置不影响工具链的实际功能,主要用于 xmake 内置文档 / 帮助信息展示,方便开发者查阅工具链官方资料。

set_description(\”Microsoft Visual C/C++ Compiler\”)

设置工具链的描述信息,说明该工具链的具体用途。同样是元信息配置,执行 xmake show -l toolchains 等命令时,会显示该描述,帮助开发者识别工具链。

set_runtimes(\”MT\”, \”MTd\”, \”MD\”, \”MDd\”)

定义 MSVC 支持的 C/C++ 运行时库类型,是这段代码中功能性核心配置

运行时标识

含义

适用场景

MT

静态链接 Release 版本的 C 运行时库(libcmt.lib)

无依赖运行时 DLL,程序体积大,发布方便

MTd

静态链接 Debug 版本的 C 运行时库(libcmtd.lib)

调试阶段使用,包含调试符号,性能稍低

MD

动态链接 Release 版本的 C 运行时库(msvcrt.dll)

程序体积小,需随程序分发对应版本的 VC 运行时 DLL

MDd

动态链接 Debug 版本的 C 运行时库(msvcrtd.dll)

调试阶段动态链接,需依赖调试版运行时 DLL

on_check(\”check\”)

关联工具链的「检查回调函数」,函数定义位于 check.lua 文件中。

on_load(\”load\”)

关联工具链的「加载回调函数」,函数定义位于 load.lua 文件中。

赞(0)
未经允许不得转载:171主机测评 » 17.国产构建工具之王xmake——msvc工具链(toolchain实战)
分享到: 更多 (0)

评论 抢沙发

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