【问题标题】:what are the rules zig build-lib uses for shared objects filenames?zig build-lib 用于共享对象文件名的规则是什么?
【发布时间】:2020-12-29 12:56:42
【问题描述】:

我有一个 sqlite 扩展文件。来源是sqliteext/csv.c。当我使用 clang 构建库时,输出文件创建在 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

有两个问题。

  • zig 在文件名前加上lib
  • zig 在后缀中添加版本号的东西

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

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

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

【问题讨论】:

    标签: zig


    【解决方案1】:

    【讨论】:

    • 我想这足以说明它仍在开发中。就我而言,他们还添加了 0.0.0,这意味着我需要添加一个裸符号链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 2020-01-01
    • 2012-05-16
    • 1970-01-01
    • 2014-01-06
    • 2020-06-13
    • 2016-06-23
    相关资源
    最近更新 更多