4.6 KiB
安装
xmake
构建工具
clang
c++ 编译器
VS CODE
https://zhuanlan.zhihu.com/p/398790625
[万字长文]Visual Studio Code 配置 C/C++ 开发环境的最佳实践(VSCode + Clangd + XMake)
配置
强行修改 xmake.conf
通过 xmake f 设置会失败
--全局配置
xmake g --ndk=~/files/android-ndk-r10e/
--清除配置
xmake f -c
--导出配置
xmake f --export=config.txt
xmake f -m debug --xxx=y --export=config.txt
--环境变量
xmake show -l envs
项目
更新
# 更新到指定版本
xmake update 2.2.4
#更新到指定分支
xmake update master
xmake update dev
#更新到指定地址
xmake update github:xmake-io/xmake#master
#更新脚本
xmake update -s dev
#卸载
xmake update --uninstall
创建
#创建
xmake create zmake
#查询创建模板
xmake create --help
#创建指定模板 语言 + 类型
xmake create -l c -t static zmake
xmake create -t qt.quickapp zmake
xmake create -l cuda test
#指定编译版本
xmake f -m debug
#清除缓存
xmake f -c
编译
# 使用帮助
xmake f --help
# 设置编译架构
xmake f -p android --ndk=xxx -a arm64-v8a
# 交叉编译
xmake f -p cross --sdk=/home/toolchains_sdkdir
xmake f -p linux --sdk=/home/toolchains_sdkdir --bin=/usr/opt/bin
xmake f -p linux --sdk=/user/toolsdk --cc=armv7-linux-clang --cxx=armv7-linux-clang++
# 设置目录
xmake f -p linux --sdk=/usr/toolsdk --includedirs=/usr/toolsdk/xxx/include --linkdirs=/usr/toolsdk/xxx/lib --links=pthread
生成
# 生成 vs 项目
xmake project -k vsxmake
# 指定版本 与 模式
xmake project -k vsxmake2022 -m "debug;release"
运行
#编译
xmake
#运行程序
xmake run
#触发事件
on_run
调试
#输出调试信息
#v 输出 编译指令
xmake -vD
xmake -vD verbose Diagnosis
# 语法检测
xmake check
xmake check api
xmake check api.target
xmake check -v
# 自动修复
xmake check clang.tidy --fix
调试Lua源码
local _luasocket = _PROGRAM_DIR .. "/winenv/bin/core.dll"
package.cpath = package.cpath .. ";" .. _luasocket
require("../winenv/bin/LuaPanda").start("127.0.0.1",8818)
下载
关闭 curl ssl 证书验证
xmake global --help
xmake global --insecure-ssl=INSECURE-SSL
Lua 接口
xmake lua /tmp/test.lua
xmake lua lib.detect.find_tool gcc
xmake lua
进入lua 交互
第三方库
本地依赖
# -p android 指定编译平台
# 传递库名 与 编译路径
xmake f -p android --ndk=~/downloads/android-ndk-r19c
xmake f --qt=/home/xxx/qtsdk
全局依赖
# 传递库名 与 编译路径
xmake g --ndk=~/xxx/android-ndk-r19c
xmake g --qt=/home/xxx/qtsdk
示例
xmake f -p android --ndk=xxx --ndk_sdkver=16
xmake f -p android --ndk=xxx -a arm64-v8a
xmake f -p android --ndk=xxxx --ndk_cxxstl=gnustl_shared
xmake f -p android --ndk=xxxx --ndk_cxxstl=gnustl_shared --ndk_sdkver=16
xmake f --help
QA
xmake f
强行修改 .xmake\windows\xmake.conf
xmake f -a=x64 -p=windows
xmake f -cvD
add_requires
pulling repository(build-artifacts): https://github.com/xmake-mirror/build-artifacts.git to C:\Users\Administrator\AppData\Local.xmake\repositories\build-artifacts ..
git -c core.fsmonitor=false pull origin main
fatal: not a git repository (or any of the parent directories): .git
error: execv(git -c core.fsmonitor=false pull origin main) failed(128)
手动 git clone https://github.com/xmake-mirror/build-artifacts.git
curl ssl problem
由cartalyst / stripe使用的Guzzle将执行以下操作来查找适当的证书归档,以检查服务器证书是否符合以下条件:
-
检查你的php.ini文件是否设置了
openssl.cafile。 -
检查
curl.cainfo是否在您的php.ini文件中设置。 -
检查是否存在
/etc/pki/tls/certs/ca-bundle.crtHat,CentOS,Fedora;由ca-certificates包提供) -
检查
/etc/ssl/certs/ca-certificates.crt存在(Ubuntu,Debian;由ca-certificates包提供) -
检查
/usr/local/share/certs/ca-root-nss.crt存在(FreeBSD;由ca_root_nss包提供) -
检查
/usr/local/etc/openssl/cert.pemX;由homebrew提供) -
检查是否存在
C:\windows\system32\curl-ca-bundle.crt(Windows) -
检查是否存在
C:\windows\curl-ca-bundle.crt(Windows)
https://curl.haxx.se/docs/caextract.html
curl-ca-bundle.crt
curl 慢
连 strong vpn 就行