准确来说是给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. 后续测试下真实工程.
后续再有问题,可以提问到这里: