本人初学者,想问问在 macbook 下能编译生成目标平台为 Linux 的可执行文件( c 语言写的,clion 生成的)吗?我用 file 命令看到的是 Mach-O 格式的,好像不能直接在 Linux 系统下运行。
还是说必须要在 Linux 系统下编译才能在 Linux 系统下执行?或者需要配置 clion 吗?
1
knowckx 2020 年 1 月 20 日 来用 go 吧,交叉编译,你值得拥有
|
2
ysc3839 2020 年 1 月 20 日 via Android
不一定要在 Linux 下编译,你这种情况叫做交叉编译,即在当前系统下编译另一平台 /系统的程序。
不过如果不想折腾的话,我还是建议虚拟机安装 Linux 编译。 |
3
hyq 2020 年 1 月 20 日
你需要交叉编译器,就可以编译出其他平台的二进制
github.com/tpoechtrager/osxcross |
4
jinliming2 2020 年 1 月 20 日 via iPhone
交叉编译,不想折腾的话装个 Docker 在容器里编译就行……
|
5
azh7138m 2020 年 1 月 20 日
能。
不是。 或许不用,就正常写 makefile (? |
6
ashong 2020 年 1 月 20 日 via iPhone
我用 go 编译生成运行没问题
|
7
orvice 2020 年 1 月 20 日
docker
|
8
stancaohua OP |
9
qieqie 2020 年 1 月 20 日
@hyq 你这个反了,这个是 host linux, target macos 的 toolchain
楼主既然用 clion,可以用 ide 支持的相关 remote build 功能: https://www.jetbrains.com/help/clion/remote-projects-support.html |
10
wizardoz 2020 年 1 月 20 日
clion remote build 或者 交叉编译
|
11
Nasei 2020 年 1 月 20 日
你要周围有 win10 的笔记本,可以用 wsl 编译
|
12
clayyj1210 2020 年 1 月 20 日
@ashong 不同平台上编译,一些底层依赖还是有点差异的。
|
13
virusdefender 2020 年 1 月 20 日
交叉编译还是有些麻烦的,直接 docker 吧。
|
14
ccpp132 2020 年 1 月 20 日
初学者建议要交 linux 就用 linux 写,别耍杂技
|
15
hanai 2020 年 1 月 20 日
用 docker 最方便
|
16
augustheart 2020 年 1 月 20 日
安装相应平台的工具链,编译时候加上 arch,正常写就行了。
|
17
augustheart 2020 年 1 月 20 日
交叉编译不难,但是编译环境要折腾。
|
18
Vegetable 2020 年 1 月 20 日
得不偿失,如果只是作业需要 linux,没必要非得交叉编译。如果作业是交叉编译...
|
19
VDimos 2020 年 1 月 20 日 via Android
可以,有几个方案:
1.交叉编译,看语言有没有工具链可以用,大概率有的 2. docker 中编译目标系统可执行文件 3. 虚拟机,同 2 4. 云服务器 |
20
loading 2020 年 1 月 20 日 via Android 别信楼上这些,乖乖先装个虚拟机 vbox 就挺好,把作业写完
|
21
misaka19000 2020 年 1 月 20 日
交叉编译
最好的方式是 docker |
22
seakingii 2020 年 1 月 20 日 via Android
虚拟机最适合你
|
23
secondwtq 2020 年 1 月 20 日
你编译好了 Linux 文件直接交上去么?没个 Linux 环境测试怎么知道能不能用
|
24
pmx1990 2020 年 1 月 20 日
你知道 docker 吗 /狗头
|
25
xiri 2020 年 1 月 20 日
不就是交叉编译吗,不过建议你还是用 linux 写,方便测试,出了问题也好排查
|
26
zhuangzhuang1988 2020 年 1 月 20 日
上 linux, 先好好写 c, 算法.
暂时不需要研究这些, |