在 Zig 中使用 X11 C 库时出现分段错误

I get Segmentation fault when using X11 C library with Zig

我正在尝试将 X11 与 Zig 一起使用。以 https://rosettacode.org/wiki/Window_creation/X11#Xlib 中的代码为例,我想出了这个最小的例子:

const c = @cImport({
    @cInclude("X11/Xlib.h");
});

pub fn main() void {
    var maybe_display : ?*c.Display = c.XOpenDisplay(@as(?*u8, null));
}

使用最新版本的 Zig (0.6.0) 进行编译:

zig build-exe -lX11 main.zig

执行时出现以下错误:

Segmentation fault at address 0x0
attempt to unwrap error: InvalidExe
Panicked during a panic. Aborting.
fish: './main' terminated by signal SIGABRT (Abort)

您可能还需要 link 针对 libc。尝试添加 -lc.