stdx 路径配置示例方案
下面给出项目统一使用静态 stdx 的配置方式:先在全局环境变量里指向仓颉 native 产物根目录,再由 cjpm.toml 固定拼接 static/stdx。
1. 全局环境变量
假设本机已经安装好对应平台的仓颉 stdx 产物,目录结构类似:
/Users/xxx/darwin_aarch64_cjnative/
├── dynamic/stdx
└── static/stdx
建议将 CANGJIE_STDX_PATH 指向这个根目录,而不是直接指向某一个 stdx 子目录:
export CANGJIE_STDX_PATH=/Users/xxx/darwin_aarch64_cjnative
这样可以让所有项目共享同一套环境变量约定,同时避免写死本机绝对路径。
2. 项目内配置思路
项目中的 stdx 路径统一配置为:
[target.aarch64-apple-darwin]
[target.aarch64-apple-darwin.bin-dependencies]
path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]
3. 推荐写法
如果同一个工程需要兼容多平台,按平台分别写目标段,并统一引用对应平台根目录下的静态 stdx:
[target.aarch64-apple-darwin]
[target.aarch64-apple-darwin.bin-dependencies]
path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]
[target.x86_64-apple-darwin]
[target.x86_64-apple-darwin.bin-dependencies]
path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]
[target.x86_64-unknown-linux-gnu]
[target.x86_64-unknown-linux-gnu.bin-dependencies]
path-option = ["${CANGJIE_STDX_PATH}/static/stdx"]
4. 使用方式
构建前先导出环境变量,再执行构建命令:
export CANGJIE_STDX_PATH=/Users/xxx/darwin_aarch64_cjnative
cjpm build
如果切换到另一个平台,只需要修改 CANGJIE_STDX_PATH 的值,不需要改项目源码里的 path-option 组织方式。
5. 注意事项
CANGJIE_STDX_PATH应该指向产物根目录,避免把路径写死到某一个子目录。path-option统一写为["${CANGJIE_STDX_PATH}/static/stdx"]。- 不要在项目配置中混用静态、动态或本机绝对路径。
- 如果后续目录结构变化,只需要调整环境变量,不需要逐个改项目文件。