xmake入门


xmake 常用命令

基本使用

xmake		// 编译程序
xmake run	// 运行程序    
xmake install -y	// 将当前编译好的程序安装到系统环境,默认位置/user/local下
xmake uninstall -y	// 卸载安装程序;

基本命令介绍

xmake --help

xmake命令行格式为:

xmake [task] [options] [target]

[] 表示可选输入,task为子命令任务名,options为参数选项,target指的是当前命令针对那些目标程序;

常用子命令:

  • build:程序构建;
  • clean:删除编译过程中的所有二进制文件和临时文件;
  • config:配置编译需要的参数,如平台、架构等,缩写用 f 表示;
  • global:配置xmake的全局编译参数;
  • install:安装编译后的目标程序;
  • package:打包编译生成的库与头文件;
  • require:手动拉取第三方依赖库;
  • run:运行目标程序;
  • uninstall:卸载目标程序;
  • update:更新xmake;

build子命令:

  • -v/--verbose:查看详细完整的编译命令。
  • -r/--rebuild:强制重新编译所有代码。
  • -j/--jobs:指定多任务编译的并行任务数。
  • -w/--warning:编译过程中显示编译警告信息。
xmake -rv			// 查看详细编译选项
xmake f -m debug	// 切换到debug模式、也可以切换release、releasedbg模式
xmake f -o /out		// 切换编译输出目录
xmake f -v			// 查看当前的配置信息
// --cflags 仅仅添加 C 编译选项,--cxxflags 为仅仅添加 C++ 编译选项,--cxflags 同时添加 C/C++ 编译选项。
xmake f --cxflags="-DTEST"	// 仅仅添加C编译选项
// 添加链接库和搜索路径
xmake f --ldflags="-L/tmp -lpthread"		// 表示新增 /tmp 的库搜索目录,并添加额外的 pthread 链接库
xmake f --links="pthread" --linkdirs="/tmp" // 与上面一行效果一样
xmake f --toolchain=clang	 // 切换到 clang 编译器,前提是安装了clang 
xmake f -c		// 重置所有配置     
xmake update -f	// xmake更新到最新版本

xmake show 显示的信息含义

xmake.lua基础配置

  • set_kind :设置目标类型;phony 空目标程序、binary 二进制程序、static 静态库程序、shard 动态库程序;
  • add_cxflags :添加 C/C++ 编译选项;
  • add_defines :添加宏定义;
  • add_includedirs:添加头文件搜索目录;
  • add_linkdirs:添加库搜索目录;
  • add_links:添加链接库;
  • add_syslinks:添加系统链接库;
  • set_languages :设置语言标准;
  • add_files :添加源文件;中间用 | 分割表示过滤的文件;
  • add_requires() :指定当前项目需要哪些包,编译时候会触发一次依赖包的安装;
  • add_packages() :配置对特定 target 目标集成指定的依赖包,需要与 add_requires() 配合使用,二者缺一不可。

xrepo 常用命令

xrepo install zlib tbox							# 安装包
xrepo install "zlib 1.2.x"						# 安装指定版本包
xrepo install -p mingw [--mingw=/xxx] zlib		# 安装指定平台包
xrepo install -m debug zlib						# 安装调试版本包
xrepo install -k shared zlib					# 安装动态库版本包
xrepo install -f "vs_runtime='MD'" zlib			# 安装指定配置包
xrepo install vcpkg::zlib						# 安装第三方包管理器的包
xrepo fetch pcre2								# 查找包的库使用信息
xrepo export -o /tmp/output zlib				# 导出安装后的包
xrepo import -i /xxx/packagedir zlib			# 导入安装后的包
xrepo search rabbitmq							# 搜索支持的包
xrepo info zlib									# 查看包信息
xrepo remove --all								# 卸载所有包
xrepo remove --all zlib pcr*					# 卸载所有包,模式匹配

# 进入虚拟环境:在当前目录下,添加 xmake.lua 文件,定制化一些包配置,然后进入特定的包虚拟环境。
{ xmake.lua 文件
	add_requires("zlib 1.2.11")
	add_requires("python 3.x", "luajit")
}
{ bash 命令行
	$ xrepo env shell
	> python --version
	> luajit --version
}
xrepo env --show luajit							# 查看包环境信息
xrepo env luajit								# 加载执行包环境并运行命令
xrepo env --add /tmp/base.lua					# 管理虚拟环境,将指定的虚拟环境配置全局注册到系统中,方便快速切换
xrepo env --list								# 查看虚拟环境
xrepo env --remove base							# 删除虚拟环境
xrepo env -b base shell							# 切换全局虚拟环境
xrepo env -b/--bind								# 绑定指定的虚拟环境

文章作者: LSJune
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LSJune !
评论
  目录