Skip to content

【Zig 日报】 2024-02-10 zig cc 交叉编译实战 #97

@jiacai2050

Description

@jiacai2050

Zig 语言的一大卖点就是她可以直接用作 C/C++ 的编译器,在 Andrew 的 zig cc: a Powerful Drop-In Replacement for GCC/Clang 一文中有具体的使用方式以及原理介绍。比如:

CC="zig cc" CXX="zig c++" make

即可使用 zig 来作为 C 编译器来编译一个 C/C++ 项目。

社区内这方面的使用也比较多,比如:Zig Makes Go Cross Compilation Just Work

但是,经过笔者实际体验下来,虽然 zig cc 可以工作,但在很多时候会或多或少遇到些问题,因此写了 zig-cc 这个项目,本质是个 Python 的脚本,只不过针对编译 Go/Rust 代码做了些适配,比如可以自动转化 target triple,而且用 CI 来测试使用 zig cc 编译常见的 Rust 项目的结果。

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions