资讯专栏INFORMATION COLUMN

[转]:xmake编译配置过程详解

shengguo / 1738人阅读

摘要:在构建程序的时候,会去自动检测系统环境,工程描述等来创建最合适的编译配置来进行编译。。一般情况下,我们只需要执行就行了,并且如果工程描述没有改变,就不会去重新检测和生成配置。。

xmake 在构建程序的时候,会去自动检测系统环境,工程描述等来创建最合适的编译配置来进行编译。。

一般情况下,我们只需要执行:

$ xmake

就行了,并且如果工程描述没有改变,就不会去重新检测和生成配置。。

但是有时候,我们的编译需求千奇百怪,不可能一行xmake就能完全满足我们的需求,例如:我要在macosx上编译android程序了,怎么办

这个时候就需要手动修改配置:

$ xmake f -p android --ndk=~/file/android-ndk

上面是简写,这样会少敲些字符,如果要可读性更好些,可以写全:

$ xmake config --plat=android --ndk=~/file/android-ndk

然后我们继续执行编译即可:

$ xmake

如果每次编译都是相同配置的话,就不需要重新配置了

当然有时候系统环境发生改变,例如之前用的是 gcc, 现在gcc被卸载了,装了clang,那么缓存配置就无效了,这种情况下,xmake还没有那么智能,能够检测到进行重配,只能手动加上 -c 参数,强制清楚配置缓存,进行重新检测:

$ xmake f -c

如果有时候遇到些配置上的问题,都可以尝试加上这个参数,重试下,一般都能解决。。

上述讲的都是相对于工程的局部配置,只对当前工程有效,配置的缓存数据都被放置在了当前工程目录下:

projectdir/.xmake

如果有些配置参数,每次都不变,那就不需要每次都手动输入一遍了,只需要放置到全局配置中区就行了,例如参数:--ndk=~/file/android-ndk

我们可以通过全局配置命令:

$ xmake global --ndk=~/file/android-ndk

或者简写方式:

$ xmake g --ndk=~/file/android-ndk

之后每次编译android的版本,就可以简化为:

$ xmake f -p android
$ xmake

是不是更方便了哈。。嘿嘿。。

在比如,我要每次强行都使用vs2008这个特定版本,而不使用自动检测出来的v2015,(如果你装了两个vs的话),就可以通过全局配置,设置到vs2008上去:

$ xmake g --vs=2008

然后编译的时候执行(注:这里加上-c,是因为全局配置改了,最好强行重新检测下):

$ xmake f -c
$ xmake

最后,如果需要了解配置的详细参数,可以执行--help来了解:

$ xmake f -h
$ xmake g -h

XMake项目主页

XMake项目详情

XMake项目源码

XMake项目文档

原文出处:http://tboox.org/cn/2016/07/19/config-description/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/12968.html

相关文章

  • []:如何快速构建一个简单的程序

    摘要:例如顺便说一下,在下编译,是完全支持多任务的哦,默认就是自动多任务构建的,比起以前在里面用来编译快多了,因为下的就算你启用了也没啥效果,非常非常得慢。。。 首先我们通过内置的工程模板创建一个空工程: $ xmake create -P ./hello create hello ... create ok!? 这个时候xmake将会产生一些工程文件,如下: $ cd ./hello $...

    willin 评论0 收藏0
  • 浏览器工作过程详解(译)(二)

    摘要:每种可解析的格式必须具有由词汇及语法规则组成的特定的文法,这被称为上下文无关文法。解析器将会从词法分析器获取一个新符号,并且尝试用某一种语法规则去匹配它。第二个匹配到规则的是,它匹配到第三条语法规则。 衔接 接着上文继续。 在构建好render树后,浏览器就开始进行布局了。这意味着浏览器会给每个节点正确的坐标,让它们出现在该出现的地方。下一步就是进行绘制了,浏览器将会遍历render树...

    fasss 评论0 收藏0
  • 带你了解集合世界的fail-fast机制 和 CopyOnWriteArrayList 源码详解

    摘要:体现的就是适配器模式。数组对象集合世界中的机制机制集合世界中比较常见的错误检测机制,防止在对集合进行遍历过程当中,出现意料之外的修改,会通过异常暴力的反应出来。而在增强循环中,集合遍历是通过进行的。 前言 学习情况记录 时间:week 2 SMART子目标 :Java 容器 记录在学习Java容器 知识点中,关于List的重点知识点。 知识点概览: 容器中的设计模式 从Array...

    young.li 评论0 收藏0
  • 网页程序迁移至微信小程序web-view详解

    摘要:网页引入网页发起支付由后台返回,主要是需要统一下单平台的微信支付页面支付参数错误,请稍后重试支付成功支付失败支付错误分享功能小程序直接分享的所在的页面,如果需要加上页面参数,那我们就需要处理一下了。 小程序现在越来越流行,但是公司的很多项目都是用网页写的,小程序语法不兼容原生网页,使得旧有项目迁移至小程序代价很高; 小程序之前开放了webview功能,可以说是网页应用的一大福音了,但...

    junbaor 评论0 收藏0
  • 网页程序迁移至微信小程序web-view详解

    摘要:网页引入网页发起支付由后台返回,主要是需要统一下单平台的微信支付页面支付参数错误,请稍后重试支付成功支付失败支付错误分享功能小程序直接分享的所在的页面,如果需要加上页面参数,那我们就需要处理一下了。 小程序现在越来越流行,但是公司的很多项目都是用网页写的,小程序语法不兼容原生网页,使得旧有项目迁移至小程序代价很高; 小程序之前开放了webview功能,可以说是网页应用的一大福音了,但...

    AlphaGooo 评论0 收藏0

发表评论

0条评论

shengguo

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<