zig build-lib对共享库文件名使用哪些规则?

问题描述

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

lib/csv.so

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

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
  • zig在后缀中添加版本号的东西

所以输出文件是lib

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

我仍在查看CLI帮助,但仍未找到所需的东西。

解决方法

请参见https://github.com/ziglang/zig/issues/2230https://github.com/ziglang/zig/issues/2231

前者与您通过https://github.com/ziglang/zig/pull/6315发布信息的日期相同

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...