我有一个非常简单的C程序,只使用标准库函数进行一些加密计算。
我将在Ubuntu(10.04,32位)上运行该程序,并使用带有-m32标志的cc在OS X 10.6上编译它。当我试图在Ubuntu上运行它时,我收到错误消息“无法执行二进制文件。”
当我在Ubuntu上编译它时运行正常。
有没有简单的方法将OS X上的代码编译成可在Ubuntu上运行的二进制文件?如果不是,导致二进制文件不兼容的区别是什么?
答案 0 :(得分:4)
您需要设置交叉编译器。使用GNU工具链,该过程如下所示:
我从来没有尝试过OSX作为主机操作系统,所以我不知道是否还有其他并发症,但这是一般方法。我正在从记忆中工作,所以如果你需要更多的帮助,请添加评论。
答案 1 :(得分:1)
我担心你无法给出gcc的最低可移植性。
当然你可以构建一个交叉编译器like this,但我建议你使用ubuntu虚拟机进行编译。