十分钟搞定 C/C++ 项目自动化构建 —— Xmake 入门指南
上面是一个开发中的经典问题场景,发生的原因通常是:开发者工作机上的某些依赖项没有安装在测试或者客户环境中,导致程序无法运行或者报错。
如何有效地避免这个尴尬的场景呢?那就需要一个持续的、可复用的自动构建流程,这样会促使团队保证他们的软件在 IDE 和开发者工作机之外也能够编译并运行基本的单元测试集。
**今天给大家介绍一款非常好用的 C/C++ 项目构建工具 —— Xmake。**目前它已经在 Github 收获了 2.9K star、300+ fork,并且处理了 900+ issues、5400+ Commits,star 数也超过了大部分同类构建工具,逐渐逼近 cmake。同时, Xmake 在易用性上完全赶超 cmake,对新手非常友好,短时间内就能入门。
Xmake 简介
**友好 —— **xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。
**强大 —— **虽然,简单易用是 xmake 的一大特色,但 xmake 的功能也是非常强大的,既能够像 Make/Ninja 那样可以直接编译项目,也可以像 CMake/Meson 那样生成工程文件,还有内置的包管理系统来帮助用户解决 C/C++依赖库的集成使用问题。
**快速 —— **目前,xmake主要用于C/C++项目的构建,但是同时也支持其他native语言的构建,可以实现跟C/C++进行混合编译,同时编译速度也是非常的快,可以跟Ninja持平。
Xmake 的****安装
使用curl
bash <(curl -fsSL https://xmake.io/shget.text)
使用wget
bash <(wget https://xmake.io/shget.text -O -)
使用powershell
Invoke-Expression (Invoke-Webrequest 'https://xmake.io/psget.text' -UseBasicParsing).Content
简单的工程描述
target("console")set_kind("binary")add_files("src/*.c")
包依赖描述
构建工程
$ xmake
运行目标
$ xmake run console
调试程序
$ xmake run -d console
入门教程
Xmake 的作者在实验楼发布了一门 Xmake 入门和进阶课程,以边学边练习的方式快速学习 xmake 的使用,带你轻松构建 C/C++ 项目。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QatzWWnj-1603707967657)(https://upload-images.jianshu.io/upload_images/226662-59cd7e49f141404e?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
课程以循序渐进的方式,带你入门和进阶 xmake,从最基础的编译配置,到复杂项目的定制化组织和维护,在课程最后几节,我们还通过实战的方式,一步步带你体验第三方 C/C++ 项目的移植编译,以及 vscode/xmake 集成环境的可视化编译操作流程。最后一节实验中,我们还会讲解如何使用 xmake 和 vscode 去编译开发基于 Qt 的应用程序。
你将学到
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLMgSwnw-1603707967670)(https://upload-images.jianshu.io/upload_images/226662-2c4f82314c6e8796?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
上面是一个开发中的经典问题场景,发生的原因通常是:开发者工作机上的某些依赖项没有安装在测试或者客户环境中,导致程序无法运行或者报错. 如何有效地避免这个尴尬的场景呢?那就需要一个持续的.可复用的自动构 ... JeecgBoot 单体升级微服务方案(十分钟搞定) 当前系统分为system.demo 等模块,现有需求把每个模块单独启动作为微服务应用,故而推出新版boot[20200812beta],支持快速切 ... 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信提现功能开发的流程, 主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验: A.接口流程 获取用户OPENI ... 首页 专栏 java 文章详情 0 分组报表怎么做,积木报表十分钟搞定! scott发布于 今天 12:24 报表需求 某大型超市需要做一张年度区域销售统计报表 展示2019和2020年度各地区每月的 ... JAVA微信企业付款到零钱(十分钟搞定), 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉 ... 平台上许多同学有疑问:做视频是否有加字幕的必要呢? 其实除了外语需要翻译.语速过快加字幕方便理解.普通话不标准等情况之外,还是建议有余力的同学可以加上字幕,提升用户的观看体验. 那么问题来了,存在以下 ... 全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析 废话先说一点,算了.直接进入正题吧. 用例子说话: JSON数据: string json: " {" ... 最近要做一个大作业,需要用到数据库,sql server装了两次都失败,遂弃暗投明,用mysql,虽然我从来没有接触过,数据库么,一通百通的,5分钟就熟悉了.问题的关键是要用MFC连接mysql数据库 ... 11月15日,作为"新马泰"旅游胜地的泰国是出国旅游热度最高的几个国家之一.据统计,2018年中国游客赴泰旅游突破了1054万人,比2017年上升了7.4%.2018年赴泰旅游的中 ...十分钟搞定 C/C++ 项目自动化构建 —— Xmake 入门指南相关推荐
最新文章
热门文章