cmake 交叉编译有大佬懂吗?

cohen121 · 2024-10-1 16:46:56 · 116 次点击
c++新手,之前写 java 和 go 的。目前使用 cmake + vcpkg 在 Linux 开发。我现在想在在 Linux 环境生产 Windows/mac/linux 等操作系统下的可执行文件。可以完成吗?
现在只考虑最简单一个程序 hello world, 没有第三方依赖。如何操作。。。
举报· 116 次点击
登录 注册 站外分享
14 条回复  
star9029 小成 2024-10-1 16:56:18
https://github.com/jart/cosmopolitan
MrKrabs 小成 2024-10-1 18:35:28
可以用 zig
tinytoadd 小成 2024-10-1 18:40:07
可以找一些流行的开源跨平台项目看看,打开 github workflow 看看他们是如何构建和分发的
qfly 小成 2024-10-1 18:51:58
可以,使用 mingw 交叉编译,先编译工具链 https://github.com/Zeranoe/mingw-w64-build ,。最终 app 最好做成静态链接。支持 cmake 以及 make 文件的项目。但涉及的所有 lib 都得要交叉编译。
0o0O0o0O0o 小成 2024-10-1 19:05:22
hello world 那就用 #2 说的
https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
tool2dx 初学 2024-10-1 19:23:41
完不成,mac 我都是用 ssh 编译的,就算这样还是很难。

安卓倒是容易,那是因为 google 有跨平台的工具链,而苹果没有。
yaott2020 小成 2024-10-1 19:37:00
楼主要不要试试看 Rust (勾引
jinliming2 小成 2024-10-1 20:50:46
写过 Go 的话,Go 本身不就是可以直接跨平台编译吗?甚至简单到只要指定个环境变量就行了。但仅限于纯 Go 代码,没有 C 依赖的。
coderluan 初学 2024-10-1 20:55:06
可以但是不推荐,因为没有办法同时交叉编译 Linux 和 Mac 平台的方案,也就是你得用两套,Windows 用 mingw ,Linux 用 zig ,然后出了问题新手大概率是解决不了的,真心不如用 cmake+clang 三个平台分别编译。
12下一页
返回顶部