我想设置一个构建多个可执行文件和静态库的 zig 项目。这是我想到的结构:
build.zig
scr/
exe0/
depends on lib0, lib1
exe1/
depends on lib1
lib0/
lib1/
我认为一种方法是在单个 build.zig 中使用类似这样的东西来描述所有这些:
const lib0 = b.addStaticLibrary("lib0", "src/lib0/index.zig");
const lib1 = b.addStaticLibrary("lib1", "src/lib1/index.zig");
const exe0 = b.addExecutable("exe0", "src/exe0/main.zig");
exe0.linkLibrary(lib0);
exe0.linkLibrary(lib1);
const exe1 = b.addExecutable("exe1", "src/exe1/main.zig");
exe1.linkLibrary(lib1);
这是一个好方法吗?是否可以在单独的文件中描述 exe 和 lib?在这种情况下,你如何链接它们?
编辑:我想我真的不需要静态库,实际上可以使用包。我猜这会更像曲折。不过,我仍然对静态库方法感兴趣。