16 lines
1.0 KiB
Markdown
16 lines
1.0 KiB
Markdown
# Lessons
|
||
|
||
## High
|
||
|
||
- OHOS 同时定义 `__OHOS__` 和 `__linux__`;必须显式平台检测,不能把全部 Linux API视为可用。
|
||
- 最新 FFmpeg upstream 已有 OHCodec H.264/HEVC;研究当前源码后再决定 fork,避免重复维护。
|
||
- `libnet_ssl.so` 主要提供证书验证接口,不是 FFmpeg TLS transport backend。
|
||
- Clang 仅设置 sysroot 不会切换 target;macOS arm64 交叉编译必须在编译和链接两侧显式传 `--target=aarch64-linux-ohos`。
|
||
|
||
## Medium
|
||
|
||
- MPV upstream 使用 `DOCS/`;大小写不敏感文件系统不能可靠并存 `docs/`,沿用 upstream 目录。
|
||
- 私有 Gitea 反向代理限制单次 HTTPS pack 时,可先推送历史基线 commit,再推增量分支;不得以浅克隆或裁剪历史规避限制。
|
||
- Meson Cross File 的 `@GLOBAL_SOURCE_ROOT@` 随被构建项目变化;共享工具路径应以 `@DIRNAME@` 相对 Cross File 定位。
|
||
- FreeType `zlib=external` 表示 fallback subproject;使用 SDK zlib 必须选择 `zlib=system` 并隔离 pkg-config。
|