有没有人在mac上安装过linux x86的交叉编译器gcc?

准确来说是给x86_64平台的Centos7编译c++程序用的, 网上找到个开源项目crosstool-ng, 可惜官方不支持macOS, 但是说有人试过能在老版本上编译成功, 我试了多次不同的版本, 编译失败

直接 virtualbox

直接用clang + centos7的toolchain(glibc,libstdc++)就可以编,甚至编任何平台的都可以,因为clang本身就是一个交叉编译器

虚拟机用了几年, 不方便. 另外准备搞台m芯片的mac, 装x86虚拟机先不说能不能装, 即使能转换损耗也太大了.

有没有详细点的教程? 网上没看到这方面的文章

https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html

交叉编译的最佳选择。

最近一直在收集素材,写一篇 go rust 如何去利用 zig 进行交叉编译。

这个看着有点全能啊,不知道对c和c++的兼容性怎么样。准备试用一下

试了一下, 编译一个简单的c++测试文件, 没有成功.

$ zig c++ -target x86_64-pc-linux-elf a.cpp

error: UnknownOperatingSystem

难道target格式不一样? 用clang测试同样target, 会编译然后提示头文件找不到, 但zig好像不支持此target.

稍微谷歌一下就好了

zig c++ --target=x86_64-linux-gnu.2.17 test.cpp -o test

正确的语法是这个, glibc版本是2.17.

1 个赞

用上了, 简单的编译ok. 后续测试下真实工程.

后续再有问题,可以提问到这里: