fix(ci): 设置 CXXFLAGS=-stdlib=libc++ 修复 duckdb android 编译失败
libduckdb-sys 0.10.2 build.rs 同时添加 -stdlib=libc++ 和 -stdlib=libstdc++ (flag_if_supported), 两者在 clang 上均被支持, 后者覆盖前者成为生效 stdlib. NDK 不含 libstdc++ 头文件, 导致 fatal error: 'string' file not found. cc 1.4.5 在 compile_object 最后追加 CXXFLAGS 环境变量值 (lib.rs:2191), 故设置 CXXFLAGS=-stdlib=libc++ 能确保 libc++ 为最终生效 stdlib.
This commit is contained in:
@@ -16,6 +16,11 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
# 固定工具链版本, 便于 actions/cache 命中
|
# 固定工具链版本, 便于 actions/cache 命中
|
||||||
NDK_VERSION: '27.2.12479018'
|
NDK_VERSION: '27.2.12479018'
|
||||||
|
# libduckdb-sys 0.10.2 build.rs 同时添加 -stdlib=libc++ 和 -stdlib=libstdc++,
|
||||||
|
# 在 clang 上两者都被支持, libstdc++ 覆盖 libc++ 成为生效选项, 但 NDK 不含 libstdc++ 头文件,
|
||||||
|
# 导致 fatal error: 'string' file not found. 设置 CXXFLAGS 确保 -stdlib=libc++ 为最终生效值
|
||||||
|
# (cc 1.4.5 在 compile_object 最后追加 CXXFLAGS, 能覆盖 build.rs 的 flag_if_supported)
|
||||||
|
CXXFLAGS: '-stdlib=libc++'
|
||||||
# 配置中心地址与 token (Gitea secrets; URL 未设时回退默认地址)
|
# 配置中心地址与 token (Gitea secrets; URL 未设时回退默认地址)
|
||||||
CONFIG_CENTER_URL: '${{ secrets.CONFIG_CENTER_URL }}'
|
CONFIG_CENTER_URL: '${{ secrets.CONFIG_CENTER_URL }}'
|
||||||
CONFIG_CENTER_TOKEN: '${{ secrets.CONFIG_CENTER_TOKEN }}'
|
CONFIG_CENTER_TOKEN: '${{ secrets.CONFIG_CENTER_TOKEN }}'
|
||||||
|
|||||||
Reference in New Issue
Block a user