Skip to content

需要改进对 zig 编译器的支持 #5915

@Redbeanw44602

Description

@Redbeanw44602

Xmake 版本

v2.9.6+20241030

操作系统版本和架构

Manjaro Linux

描述问题

一般有需要使用 zig 编译 C/C++ 项目的需求,xmake 对此已经有了初步支持,但测试发现仍然有些方面需要改进。

  1. 对于系统包的处理
    zig 默认不导入系统包,而 xmake 的默认行为恰好与之相反,这将导致头文件查找问题。

  2. 依赖库编译的工具链
    zig 基于 llvm 工具链构建,与 linux 下常用的 gcc 工具链(以及对应包)兼容性往往存在问题。

  3. glibc 版本选择
    zig 支持在 target 中传入 glibc 版本(doc),xmake 尚不支持。

  4. Compiling a cmake project with zig c++ doesn't resolve to and absolute path #5610

期待的结果

  1. 考虑默认不搜索系统包,等价 xmake 配置:
local opt = {
    system = false
}

add_requireconfs('**|cmake|pkg-config', opt)
  1. 考虑在文档中写明兼容问题,或者添加警告?

  2. 添加一个 glibc_version 参数

工程配置

N/A

附加信息和错误日志

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions