[问题] 菜鸟对跨作业系统编译的疑问

楼主: joylintp (joylintp)   2017-09-24 13:28:56
====初学者发文,不专业请见谅m(._.)m====
小弟电脑是Win10 64位元系统,
写的是C语言 IDE用CodeBlocks,
请问有没有办法用现在的作业系统编译出
可在其他作业系统运作的执行档?
作者: damody (天亮damody)   2017-09-24 13:33:00
很难 不适合新手还是乖乖用vm或双系统
作者: chuegou (chuegou)   2017-09-24 14:18:00
就跨平台编译阿 常见的像是在windows写MCU code
作者: Lipraxde (Lipraxde)   2017-09-24 14:20:00
cross compiler用来跨平台的,可以跨作业系统吗?
作者: caras   2017-09-24 14:23:00
楼上你再想想你自己说的话是什么意思
作者: testPtt (测试)   2017-09-24 14:29:00
也可以用docker
作者: Lipraxde (Lipraxde)   2017-09-24 14:33:00
感觉我好智障Q_Q
作者: eye5002003 (下一夜)   2017-09-24 14:46:00
就virtual machine囉
作者: cortex1234   2017-09-24 15:12:00
gcc 不是办不到,但是设定起来非常麻烦先练习写出 Windows 和 Linux 都可以跑的 code 就行了刚开始问题不大,学得越多就越容易触及跨平台的毛病编译可以用 VM 装另一个作业系统来编,简单多了当然你硬要挑战 cross compiler 我也不会反对的难归难,办得到的人薪水绝对不会太低
作者: oToToT (屁孩)   2017-09-25 15:54:00
Windows要编linux用bad in windows可吗?*bash
作者: Neisseria (Neisseria)   2017-09-25 16:18:00
Bash on Windows 出来的执行档不是原生的那个东西比较像 Cygwin,是一个特殊的子系统可以考虑 msys2,比原来的 mingw + msys 友善一些看错了,要 cross compile 到 Linux 不是用 msys2我也只会开 VM,能编译就好了 = =...
作者: sa73157 (欣婕)   2017-09-25 17:01:00
楼上完全误解WSL 在WSL里跑的就是原生执行档在WSL里用Linux的toolchain build出来的就是ELF
作者: Neisseria (Neisseria)   2017-09-26 04:30:00
感谢楼上说明。小弟所谓“不是原生的”指的是“不是原生的 Windows 执行档”,不过小弟没注意到WSL 里面跑的是真的 ELF
作者: soheadsome (师大狗鼻哥)   2017-09-27 21:16:00
vs 不是可以remote compile 吗
作者: Killercat (杀人猫™)   2017-09-27 21:35:00
基本上 只要没有include/link到os specified的档案都可以用不同toolchain来换平台。当然里面还有很多眉角(如endian) 不过大致能编过

Links booklink

Contact Us: admin [ a t ] ucptt.com