zig build-lib 对共享对象文件名使用的规则是什么?

what are the rules zig build-lib uses for shared objects filenames?

我有一个 sqlite 扩展文件。来源是sqliteext/csv.c。当我用 clang 构建 lib 时,输出文件创建在 lib/csv.so.

cc -g -fPIC -I /usr/local/include -shared sqliteext/csv.c -o lib/csv.so

当我使用 zig 编译库时...

zig build-lib -I /usr/local/include -I /usr/include -I /usr/include/x86_64-linux-gnu --c-source sqliteext/csv.c -dynamic --output-dir lib

有两个问题。

所以输出文件是lib/libcsv.so.0.0.0

有趣的是,我需要更改扩展加载程序中的文件名(没关系),但我还需要一个符号链接来处理 0.0.0.

我仍在查看 CLI 帮助,但我仍然没有看到我需要的东西。

https://github.com/ziglang/zig/issues/2230 and https://github.com/ziglang/zig/issues/2231

前者与您的 post 在同一天通过 https://github.com/ziglang/zig/pull/6315

修复