内容简介:这个版本主要对远程依赖包的支持进一步完善,并且新增了对clib包依赖的支持,另外现在xmake已经能够直接编译Qt/Android项目,并且可以直接生成apk包,以及安装到设备支持。我们可以先创建一个Qt空项目,并且尝试编译生成apk,例如:然后安装到设备:
这个版本主要对远程依赖包的支持进一步完善,并且新增了对clib包依赖的支持,另外现在xmake已经能够直接编译Qt/Android项目,并且可以直接生成apk包,以及安装到设备支持。
新特性介绍
Qt/Android编译支持
我们可以先创建一个Qt空项目,并且尝试编译生成apk,例如:
xmake create -t quickapp_qt -l c++ appdemo cd appdemo xmake f -p android --ndk=~/Downloads/android-ndk-r19c/ --android_sdk=~/Library/Android/sdk/ -c xmake [ 0%]: compiling.qt.qrc src/qml.qrc [ 50%]: ccache compiling.release src/main.cpp [100%]: linking.release libappdemo.so [100%]: generating.qt.app appdemo.apk
然后安装到设备:
xmake install installing appdemo ... installing build/android/armv7-a/release/appdemo.apk .. Success install ok!:ok_hand:
非常简单,我们可以看下其xmake.lua描述,其实跟在pc上编译维护Qt项目并没有区别,完全一样的描述文件,仅仅只是编译的时候切换到了android平台而已。
add_rules("mode.debug", "mode.release") target("appdemo") add_rules("qt.application") add_headerfiles("src/*.h") add_files("src/*.cpp") add_files("src/qml.qrc") add_frameworks("QtQuick")
clib包依赖集成
clib是一款基于源码的依赖包管理器,拉取的依赖包是直接下载对应的库源码,集成到项目中编译,而不是二进制库依赖。
其在xmake中集成也很方便,唯一需要注意的是,还需要自己添加上对应库的源码到xmake.lua,例如:
add_requires("clib::clibs/bytes@0.0.4", {alias = "bytes"}) target("xmake-test") set_kind("binary") add_files("clib/bytes/*.c") add_files("src/*.c") add_packages("bytes")
语法简化
xmake.lua的配置域语法,非常灵活,可以在相关域做各种复杂灵活的配置,但是对于许多精简的小块配置,这个时候就稍显冗余了:
option("test1") set_default(true) set_showmenu(true) set_description("test1 option") option("test2") set_default(true) set_showmeu(true) option("test3") set_default("hello")
对于上面的这些小块option域设置,我们可以简化下成单行描述:
option("test1", {default = true, showmenu = true, description = "test1 option"}) option("test2", {default = true, showmenu = true}) option("test3", {default = "hello"})
除了option域,对于其他域也是支持这种简化写法的,例如:
target("demo") set_kind("binary") add_files("src/*.c")
简化为:
target("demo", {kind = "binary", files = "src/*.c"})
当然,如果配置需求比较复杂的,还是原有的多行设置方式更加方便,这个就看自己的需求来评估到底使用哪种方式了。
更新内容
新特性
- #380 : 添加导出compile_flags.txt
- #382 : 简化域设置语法
- #397 : 添加clib包集成支持
- #404 : 增加Qt/Android编译支持,并且支持android apk生成和部署
-
添加一些Qt空工程模板,例如:
widgetapp_qt
,quickapp_qt_static
andwidgetapp_qt_static
-
#415
: 添加
--cu-cxx
配置参数到nvcc/-ccbin
-
为Android NDK添加
--ndk_stdcxx=y
和--ndk_cxxstl=gnustl_static
参数选项
改进
- 改进远程依赖包管理,丰富包仓库
-
改进
target:on_xxx
自定义脚本,去支持匹配android|armv7-a@macosx,linux|x86_64
模式 - 改进loadfile,优化启动速度,windows上启动xmake时间提速98%
Bugs修复
- #400 : 修复qt项目c++语言标准设置无效问题
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Kotlin 1.1.60 发布,开始支持增量编译
- Micronaut使用提前编译支持Spring Boot
- Wine 4.16 发布,更好的交叉编译支持
- xmake v2.3.6 发布, 新增 fortran 编译支持
- TeaVM 现已支持将 Java 字节码编译成 WebAssembly
- xmake v2.2.6 发布, Qt/Android编译支持
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beautiful Code
Greg Wilson、Andy Oram / O'Reilly Media / 2007-7-6 / GBP 35.99
In this unique work, leading computer scientists discuss how they found unusual, carefully designed solutions to difficult problems. This book lets the reader look over the shoulder of major coding an......一起来看看 《Beautiful Code》 这本书的介绍吧!
正则表达式在线测试
正则表达式在线测试
HEX CMYK 转换工具
HEX CMYK 互转工具